private void GameQuitHandler(MainGameData gameData) { if (gameData != null) { IsInGame = false; // clean up gameboard SceneActivationBehaviour <BoardUIActivator> .Instance.DestroyBoard(); SessionFinished?.Invoke(gameData); currentSessionRuleset = null; } }
private void GameRestartedHandler(MainGameData gameData) { if (gameData != null) { IsInGame = false; // clean up gameboard SceneActivationBehaviour <BoardUIActivator> .Instance.DestroyBoard(); SessionRestarted?.Invoke(gameData); currentSessionRuleset = null; StartCoroutine(SceneActivationBehaviour <GameLogicActivator> .Instance.GameController.StartGameHandler(gameData.Ruleset)); } }
private void PuzzleSolvedHandler(MainGameData gameData) { if (gameData != null) { IsInGame = false; if (!gameData.Ruleset.IsGold) { SceneActivationBehaviour <GameLogicActivator> .Instance.GameController.RecordLevelCompletion(gameData); } else { SceneActivationBehaviour <GameLogicActivator> .Instance.GameController.RecordGoldLevelCompletion(gameData); } SessionSolved?.Invoke(gameData); } }