private void InGame_Enter() { InGameController inGameController = gameObject.RequireComponent <InGameController>(); inGameController.enabled = true; inGameController.Completed += InGameController_Completed; }
private void InGameController_Completed(object sender, ControllerCompletedEventArgs e) { InGameController inGameController = gameObject.RequireComponent <InGameController>(); inGameController.enabled = false; inGameController.Completed -= InGameController_Completed; InGameController.InGameControllerCompletedEventArgs inGameControllerCompletedEventArgs = e as InGameController.InGameControllerCompletedEventArgs; switch (inGameControllerCompletedEventArgs.code) { case InGameController.InGameControllerCompletedEventArgs.Code.ReturnToStart: _stateMachine.ChangeState(State.StartMenu); break; case InGameController.InGameControllerCompletedEventArgs.Code.ExitApp: Debug.Log("in game controller requested exit"); Application.Quit(); break; } }