public void Init(GameManager _gameManager) { gameSM = GetComponent <Animator>(); gameManager = _gameManager; context = new GameSMContext(gameManager) { OnLevelSetupCallback = HandleOnLevelSetup }; foreach (StateMachineBehaviour state in gameSM.GetBehaviours <StateMachineBehaviour>()) { IState newstate = state as IState; if (newstate != null) { newstate.Setup(context); } } GoToLevelSetup += HandleLevelSetupState; GoToMainMenu += HandleGoToMainMenu; gameSM.SetTrigger("StartSM"); }
private void OnDisable() { GoToLevelSetup -= HandleLevelSetupState; GoToMainMenu -= HandleGoToMainMenu; }