private void OnDisable() { GoToStun -= HandleEnemyStun; GoToDeath -= HandleEnemyDeath; GoToParasite -= HandleEnemyParasite; GoToRoaming -= HandleEnemyRoaming; }
public void Init(IEnemy _enemy) { enemy = _enemy; enemySM = GetComponent <Animator>(); context = new EnemySMContext(enemy, EnemyEndStunCallback, EnemyEndDeathCallback, AlertCallback, EnemyEndAlertCallback, LevelManager.instance.GetUIGameplayManager()); foreach (StateMachineBehaviour state in enemySM.GetBehaviours <StateMachineBehaviour>()) { IState newstate = state as IState; if (newstate != null) { newstate.Setup(context); } } GoToStun += HandleEnemyStun; GoToDeath += HandleEnemyDeath; GoToParasite += HandleEnemyParasite; GoToRoaming += HandleEnemyRoaming; enemySM.SetTrigger("StartSM"); }