private void CurrentGameFlowManagerOnCurrentGameStatusChanged(GameFlowManager.GameStatus gameStatus) { if (gameStatus == GameFlowManager.GameStatus.Win || gameStatus == GameFlowManager.GameStatus.Loss) { _gameOverWindowViewInstance = InstantiateElement(GameOverWindowViewPrefab, _windowsCanvasInstance.transform); } }
public void Uninitialize() { if (_userInterfaceCanvasInstance != null) { Destroy(_userInterfaceCanvasInstance.gameObject); _userInterfaceCanvasInstance = null; } if (_userInterfaceViewInstance) { Destroy(_userInterfaceViewInstance.gameObject); _userInterfaceViewInstance = null; } GameManager.Instance.GameFlowManager.CurrentGameStatusChanged -= CurrentGameFlowManagerOnCurrentGameStatusChanged; if (_gameOverWindowViewInstance != null) { Destroy(_gameOverWindowViewInstance.gameObject); _gameOverWindowViewInstance.Uninitialize(); _gameOverWindowViewInstance = null; } }