Example #1
0
 public GroundChaseState(EnemyController controller) : base(controller.gameObject)
 {
     type               = StateType.Chase;
     this.controller    = controller;
     awarenessProvider  = controller.awarenessProvider;
     movementController = gameObject.GetComponent <GroundMovementController>();
 }
Example #2
0
 public GroundPatrolState(EnemyController controller) : base(controller.gameObject)
 {
     type               = StateType.Patrol;
     this.controller    = controller;
     awarenessProvider  = controller.awarenessProvider;
     movementController = gameObject.GetComponent <GroundMovementController>();
     origPosition       = movementController.transform.position;
 }
Example #3
0
    private void Awake()
    {
        if (!movementController)
        {
            movementController = GetComponent <GroundMovementController>();
        }
        if (!awarenessProvider)
        {
            awarenessProvider = GetComponent <AwarenessProvider>();
        }
        GetComponentInChildren <BoxerHeadVulnerable>().vulnerableTo = vulnerableTo;

        Dictionary <StateType, BaseState> states = new Dictionary <StateType, BaseState>()
        {
            { StateType.Patrol, new GroundPatrolState(this) },
            { StateType.Chase, new GroundChaseState(this) },
            { StateType.Attack, new GroundAttackState(this) }
        };

        stateMachine.SetStates(states);
    }