Un Manager centraliza una responsabilidad global del juego.
Ejemplos:
public class GameManager : MonoBehaviour
{
public void GameOver()
{
Debug.Log("Game Over");
}
}
Sirve cuando varios sistemas necesitan acceder a una misma responsabilidad global.
Evitar:
GameManager
├── audio
├── guardado
├── input
├── inventario
├── enemigos
├── UI
└── todo lo demás
Eso vuelve a concentrar demasiadas responsabilidades.
GameManager
AudioManager
SaveManager
UIManager
Manager = coordinador de una responsabilidad global.