public override void Init(AIStatemachineManager m)
        {
            base.Init(m);

            AITransition stand_cover = new AITransition();

            stand_cover.condition    = AIConditions.Healthy;
            stand_cover.inverse      = true;
            stand_cover.currentState = 0;
            stand_cover.jumpIndex    = 1;

            AITransition stand_approach = new AITransition();

            stand_approach.condition    = AIConditions.LostPlayer;
            stand_approach.inverse      = false;
            stand_approach.currentState = 0;
            stand_approach.jumpIndex    = 2;

            transitions    = new AITransition[2];
            transitions[0] = stand_cover;
            transitions[1] = stand_approach;
        }
Пример #2
0
        public override void Init(AIStatemachineManager m)
        {
            base.Init(m);

            AITransition goto_stand = new AITransition();

            goto_stand.condition    = AIConditions.CanSeePlayer;
            goto_stand.inverse      = false;
            goto_stand.currentState = 0;
            goto_stand.jumpIndex    = 2;

            AITransition stand_goto = new AITransition();

            stand_goto.condition    = AIConditions.InDanger;
            stand_goto.inverse      = false;
            stand_goto.currentState = 0;
            stand_goto.jumpIndex    = 1;

            transitions    = new AITransition[2];
            transitions[0] = goto_stand;
            transitions[1] = stand_goto;
        }
Пример #3
0
        public override void Init(AIStatemachineManager m)
        {
            Debug.Log("PATROL");
            base.Init(m);

            transitions = new AITransition[5];

            transitions[0]              = new AITransition();
            transitions[0].condition    = AIConditions.CanSeePlayer;
            transitions[0].inverse      = false;
            transitions[0].currentState = 0;
            transitions[0].jumpIndex    = 5;

            transitions[1]              = new AITransition();
            transitions[1].condition    = AIConditions.CanSeePlayer;
            transitions[1].inverse      = false;
            transitions[1].currentState = 1;
            transitions[1].jumpIndex    = 5;

            transitions[2]              = new AITransition();
            transitions[2].condition    = AIConditions.CanSeePlayer;
            transitions[2].inverse      = false;
            transitions[2].currentState = 2;
            transitions[2].jumpIndex    = 5;

            transitions[3]              = new AITransition();
            transitions[3].condition    = AIConditions.CanSeePlayer;
            transitions[3].inverse      = false;
            transitions[3].currentState = 3;
            transitions[3].jumpIndex    = 5;


            transitions[4]              = new AITransition();
            transitions[4].condition    = AIConditions.LostPlayer;
            transitions[4].inverse      = false;
            transitions[4].currentState = 4;
            transitions[4].jumpIndex    = 1;
        }
Пример #4
0
        public override void Init(AIStatemachineManager m)
        {
            base.Init(m);

            transitions = new AITransition[9];

            //Flank to shoot
            transitions[0]              = new AITransition();
            transitions[0].condition    = AIConditions.CanSeePlayer;
            transitions[0].inverse      = false;
            transitions[0].currentState = 1;
            transitions[0].jumpIndex    = 3;

            transitions[1]              = new AITransition();
            transitions[1].condition    = AIConditions.CanSeePlayer;
            transitions[1].inverse      = false;
            transitions[1].currentState = 2;
            transitions[1].jumpIndex    = 3;

            transitions[2]              = new AITransition();
            transitions[2].condition    = AIConditions.GoodShoot;
            transitions[2].inverse      = false;
            transitions[2].currentState = 3;
            transitions[2].jumpIndex    = 4;

            //Attack
            transitions[3]              = new AITransition();
            transitions[3].condition    = AIConditions.IsRedundant;
            transitions[3].inverse      = false;
            transitions[3].currentState = 4;
            transitions[3].jumpIndex    = 5;

            transitions[8]              = new AITransition();
            transitions[8].condition    = AIConditions.CanSeePlayer;
            transitions[8].inverse      = true;
            transitions[8].currentState = 4;
            transitions[8].jumpIndex    = 5;

            transitions[4]              = new AITransition();
            transitions[4].condition    = AIConditions.LostPlayer;
            transitions[4].inverse      = true;
            transitions[4].currentState = 5;
            transitions[4].jumpIndex    = 0;

            transitions[5]              = new AITransition();
            transitions[5].condition    = AIConditions.LostPlayer;
            transitions[5].inverse      = false;
            transitions[5].currentState = 6;
            transitions[5].jumpIndex    = 0;

            //Interrupt flank on close
            transitions[6]              = new AITransition();
            transitions[6].condition    = AIConditions.IsCloseToPlayer;
            transitions[6].inverse      = false;
            transitions[6].currentState = 1;
            transitions[6].jumpIndex    = 3;

            transitions[7]              = new AITransition();
            transitions[7].condition    = AIConditions.IsCloseToPlayer;
            transitions[7].inverse      = false;
            transitions[7].currentState = 2;
            transitions[7].jumpIndex    = 3;
        }
 public virtual void Init(AIStatemachineManager m)
 {
     manager             = m;
     blackboardReference = manager.Blackboard;
     ConfigureStates();
 }