public void Dispose()
 {
     OnGameplayExited();
     GameEventsManager.StartGame.Unsubscribe(OnGameplayEntered);
     GameEventsManager.ExitGame.Unsubscribe(OnGameExited);
     GameEventsManager.PauseMenu.Unsubscribe(OnPauseMenu);
     GameEventsManager.EndGame.Unsubscribe(OnGameEnded);
     OnOutfitChangeStarted  = null;
     OnOutfitChangeComplete = null;
     Instance = null;
 }
 public void Initialize()
 {
     Instance     = this;
     _civilianSet = new PlayerCivilianController(_unit);
     _combatSet   = new PlayerCombatController(_unit);
     GameEventsManager.StartGame.Subscribe(OnGameplayEntered);
     GameEventsManager.ExitGame.Subscribe(OnGameExited);
     GameEventsManager.PauseMenu.Subscribe(OnPauseMenu);
     GameEventsManager.EndGame.Subscribe(OnGameEnded);
     OnGameplayEntered();
 }