Un Singleton permite tener una única instancia global de una clase.
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
void Awake()
{
if (Instance != null &&
Instance != this)
{
Destroy(gameObject);
return;
}
Instance = this;
DontDestroyOnLoad(
gameObject
);
}
}
GameManager.Instance.GameOver();
Acceso fácil desde cualquier lugar.
Si abusás de Singletons:
Útil para sistemas realmente globales: