public void SetMoveByState(EnemyStates.State state) { switch (state) { case EnemyStates.State.PATROL: SetForPatrol(); break; case EnemyStates.State.FREE_PATROL: SetForFreePatrol(); break; case EnemyStates.State.CHASE: SetForChase(); break; case EnemyStates.State.ATTACK: SetForAttack(); break; case EnemyStates.State.SEEK: SetForSeek(); break; case EnemyStates.State.IDLE: // no changes break; default: throw new Exception("No such state " + state); } }
public void ChangeStateTo(EnemyStates.State state) { IEnemyStateActivity currentActivity; if (StatesDic.TryGetValue(state, out currentActivity)) { // Prepare state to be used if (this.state != state) { currentActivity.PreStartActivity(); } } else { throw new Exception($"Enemy {this.gameObject.name} have no activity {EnemyStates.StatesNames.First(_ => _.Key == state).Value}"); } this.state = state; EnemyMoveController.ChangeStateTo(state); }
public void ChangeState(EnemyStates.State state) { controller.ChangeStateTo(state); }
public void ChangeState(EnemyStates.State state) { controller.EnemyMoveController.ContinueMoving(); controller.ChangeStateTo(state); }
public void ChangeStateTo(EnemyStates.State state) { var builder = new EnemyMoveSettingsBuilder(instance, agent); // recreate to change during debug by instance builder.SetMoveByState(state); }