Пример #1
0
        public void Update_CallsStartOnConditionsOnceTheirTrackIsRunning()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var firstCondition  = new TestActionStateCondition();
            var secondCondition = new TestActionStateCondition();

            conditionRunner.AddCondition(firstCondition);
            conditionRunner.PushNewTrack();
            conditionRunner.AddCondition(secondCondition);
            firstCondition.ForceComplete();
            conditionRunner.Update(1.0f);
            conditionRunner.Update(1.0f);

            Assert.IsTrue(secondCondition.StartCalled);
        }
Пример #2
0
        public void Update_OnlyEndsConditionOnceOnCompletion()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var firstCondition  = new TestActionStateCondition();
            var secondCondition = new TestActionStateCondition();

            conditionRunner.AddCondition(firstCondition);
            conditionRunner.AddCondition(secondCondition);
            firstCondition.ForceComplete();

            conditionRunner.Update(1.0f);
            conditionRunner.Update(1.0f);

            Assert.AreEqual(1, firstCondition.EndCalls);
        }
Пример #3
0
        public void PushNewTrack_UpdateAfterPriorCompletesTrack()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var firstCondition  = new TestActionStateCondition();
            var secondCondition = new TestActionStateCondition();

            conditionRunner.AddCondition(firstCondition);
            conditionRunner.PushNewTrack();
            conditionRunner.AddCondition(secondCondition);
            firstCondition.ForceComplete();
            secondCondition.ForceComplete();

            conditionRunner.Update(1.0f);
            conditionRunner.Update(1.0f);

            Assert.IsTrue(conditionRunner.IsComplete());
        }
Пример #4
0
        public void Update_ConditionDoesNotComplete_CompleteFalse()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var condition = new TestActionStateCondition();

            conditionRunner.AddCondition(condition);
            conditionRunner.Update(1.0f);

            Assert.IsFalse(conditionRunner.IsComplete());
        }
Пример #5
0
        protected override void OnUpdate(float deltaTime)
        {
            _conditionRunner.Update(deltaTime);

            if (_conditionRunner.IsComplete())
            {
                if (_params.CanRespawn)
                {
                    UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(GameModeComponent.RegisteredGameMode.gameObject, new RequestRespawnMessage(Info.Owner));
                }
            }
        }
Пример #6
0
        public void Update_ConditionDoesComplete_CallsEnd()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var condition = new TestActionStateCondition();

            conditionRunner.AddCondition(condition);
            condition.ForceComplete();
            conditionRunner.Update(1.0f);

            Assert.AreEqual(1, condition.EndCalls);
        }
Пример #7
0
        public void Update_CallsUpdateWithFloat()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var         condition = new TestActionStateCondition();
            const float deltaTime = 12.0f;

            conditionRunner.AddCondition(condition);
            conditionRunner.Update(deltaTime);

            Assert.IsTrue(condition.UpdateCalled);
            Assert.AreEqual(deltaTime, condition.UpdateDelta);
        }
Пример #8
0
        public void Update_NeedsAllConditionsToComplete()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var firstCondition  = new TestActionStateCondition();
            var secondCondition = new TestActionStateCondition();

            conditionRunner.AddCondition(firstCondition);
            conditionRunner.AddCondition(secondCondition);
            firstCondition.ForceComplete();

            conditionRunner.Update(1.0f);

            Assert.IsFalse(conditionRunner.IsComplete());
        }
Пример #9
0
        public void PushNewTrack_DoesNotUpdateNewTrackUntilPriorComplete()
        {
            var conditionRunner = new ActionStateConditionRunner();

            var firstCondition  = new TestActionStateCondition();
            var secondCondition = new TestActionStateCondition();

            conditionRunner.AddCondition(firstCondition);
            conditionRunner.PushNewTrack();
            conditionRunner.AddCondition(secondCondition);
            firstCondition.ForceComplete();
            secondCondition.ForceComplete();

            conditionRunner.Update(1.0f);

            Assert.IsFalse(conditionRunner.IsComplete());
        }