Пример #1
0
 public ThumperAttackState(ThumperEnemyController controller) : base(controller.gameObject)
 {
     type               = StateType.Attack;
     this.controller    = controller;
     awarenessProvider  = controller.awarenessProvider;
     movementController = gameObject.GetComponent <ThumperMovementController>();
 }
Пример #2
0
 public ThumperPatrolState(EnemyController controller) : base(controller.gameObject)
 {
     type               = StateType.Patrol;
     this.controller    = controller;
     awarenessProvider  = controller.awarenessProvider;
     movementController = gameObject.GetComponent <ThumperMovementController>();
     origPosition       = movementController.transform.position;
 }
Пример #3
0
    public void Awake()
    {
        if (!movementController)
        {
            movementController = GetComponent <ThumperMovementController>();
        }
        if (!awarenessProvider)
        {
            awarenessProvider = GetComponent <AwarenessProvider>();
        }
        GetComponentInChildren <ThumperVulnerable>().vulnerableTo = vulnerableTo;

        Dictionary <StateType, BaseState> states = new Dictionary <StateType, BaseState>()
        {
            { StateType.Patrol, new ThumperPatrolState(this) },
            { StateType.Attack, new ThumperAttackState(this) }
        };

        stateMachine.SetStates(states);
    }