private void SetIdleState() { if (!sm.IsActualState <LaserEnemy_R_IdleState>()) { sm.SetState <LaserEnemy_R_IdleState>(); } }
protected override void Awake() { base.Awake(); sm = new StateMachineClassic(); sm.AddState(new LaserEnemy_R_CastLaserState(sm, this)); sm.AddState(new LaserEnemy_R_IdleState(sm, this)); sm.SetState <LaserEnemy_R_IdleState>(); anim = GetComponent <Animator>(); target = FindObjectOfType <Player>(); }
private void Start() { _sm = new StateMachineClassic(); _sm.AddState(new EnemyRangedMetheoriteSpawner_AttackState(_sm, this)); _sm.AddState(new EnemyRangedMetheoriteSpawner_SpawnState(_sm, this)); _sm.AddState(new EnemyRangedMetheoriteSpawner_CooldownState(_sm, this)); _sm.AddState(new EnemyRangedMetheoriteSpawner_PathfindingState(_sm, this, FindObjectOfType <NodesList>().GetNodes())); _sm.SetState <EnemyRangedMetheoriteSpawner_SpawnState>(); attackTimer = 0; }
public void MakeAttack() { if (_sm.IsActualState <EnemyRangedMetheoriteSpawner_AttackState>()) { return; } SetVelocity(transform.forward * 0); _sm.SetState <EnemyRangedMetheoriteSpawner_AttackState>(); }
public void ChangeState <T>() where T : State { _stateMachine.SetState <T>(); }