Пример #1
0
 public WorkState(RecruitmentPattern statePatternUnit, WaitBehavior waitBehavior)
 {
     //if (state._unit.gameObject != null)
     //    animator = state._unit.gameObject.GetComponent<Animator>();
     state = statePatternUnit;
     wait  = waitBehavior;
 }
Пример #2
0
        public void Behavior_KillTimerTest()
        {
            var behavior = new WaitBehavior(4);

            behavior.IsAlive = true;


            int i = 0;

            while (behavior.IsAlive)
            {
                behavior.Update(0.5f);
                i++;
            }

            Assert.IsTrue(i == 9);
        }
Пример #3
0
    // Constructor
    public RecruitmentPattern(Unit unit)
    {
        _unit = unit;

        waitBehavior    = new WaitBehavior(_unit);
        seekBehavior    = new SeekBehavior(_unit);
        pursuitBehavior = new PursuitBehavior(_unit);

        waitState           = new WaitState(this, waitBehavior);
        followLeaderState   = new FollowLeaderState(this, seekBehavior);
        holdPositionState   = new HoldPositionState(this, waitBehavior);
        defendPositionState = new DefendPositionState(this, pursuitBehavior);
        attackEnemyState    = new AttackEnemyState(this, pursuitBehavior);
        attackTargetState   = new AttackLeaderTargetState(this, seekBehavior);
        workState           = new WorkState(this, waitBehavior);

        currentState = waitState;
    }
Пример #4
0
        public void BehaviorHolder_UpdateBasicTest()
        {
            var holder = new BehaviorHolder(new LivingConcrete());

            int count = 0;

            var beh = new WaitBehavior(2);

            holder.Attach(beh);

            beh = new WaitBehavior(3);
            holder.Attach(beh);

            while (holder.HasAliveBehaviors)
            {
                holder.Update(1);
                count++;
            }

            // Behaviors are granted one last update after they are killed
            Assert.AreEqual(4, count);
        }
Пример #5
0
 public HoldPositionState(RecruitmentPattern statePatternUnit, WaitBehavior waitBehavior)
 {
     state = statePatternUnit;
     wait  = waitBehavior;
 }