You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Utilizo este patron para resolver el problema de tener 2 modos de juego diferente utilizando un unico game manager, el game manager sigue funcionando de la misma manera, solo que se abstrajo todo el comportamiento diferentes script que se encargan de la estrategia multiplayer y single player, en concreto los scripts son GameManager.cs (el manager original pero modificado para que soporte este patron), GameManagerStrategy.cs (Del cual heredan todas las estrategias), MultiplayerStrategy.cs y SinglePlayerStrategy.cs.
Utilizo el patron Flyweight para optimizar los datos que estan tanto en una escena como en la otra, y que siempre es lo mismo, por ejemplo el dinero o puntaje, es el mismo tanto en gameplay como en la escena final de puntaje, el primer patron es utilizado para que esten cargado en memoria y se pueda utilizar en varios lugares, esto lo aprovecho de los Scriptable Objects que proporciona Unity, esto me da la posibilidad de tener datos compartidos entre escenas y poder hacer pruebas aisladas sin la necesidad de tener un manager de por medio.
El patron Observer lo utilizo para cuando un cambio se genera en estos datos, sin tener que estas chequeandolos constantemente y solo saber que paso en el momento en que paso.
Estos patrones se aplican en un plugin de mi autoria el cual se llama Scriptable Variables este se encuentra en la carpeta Assets/My Tools/Scriptable Variables/ScriptableVariables.dll
Este patron lo utilizo para que solo exista un unico objeto que se encargue especificamente de una cosa, en este caso de todo lo referido al audio, este tambien es una tool propia en formato .dll, el plugin se encuentra en Assets/My Tools/Audio Tools/AudioTools.dll