public WorkState(RecruitmentPattern statePatternUnit, WaitBehavior waitBehavior) { //if (state._unit.gameObject != null) // animator = state._unit.gameObject.GetComponent<Animator>(); state = statePatternUnit; wait = waitBehavior; }
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); }
// 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; }
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); }
public HoldPositionState(RecruitmentPattern statePatternUnit, WaitBehavior waitBehavior) { state = statePatternUnit; wait = waitBehavior; }