Beispiel #1
0
        public void LeaveLocomotionMessage_UnregistersAnimalInputHandler()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_animal.gameObject, new EnterLocomotionStateMessage());
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_animal.gameObject, new LeaveLocomotionStateMessage());

            Assert.IsTrue(_inputBinder.IsHandlerOfTypeUnregistered <AnimalInputHandler>());
        }
        public void Initialised_RotatesToFaceGoal()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            ExtendedAssertions.AssertVectorsNearlyEqual(_pathfinding.gameObject.transform.up, (_targetObject.transform.position - _pathfinding.gameObject.transform.position).normalized);
        }
        public void PauseStatusChangedMessageReceived_Unpaused_InstantFadeToZero()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_effects.gameObject, new PauseStatusChangedMessage(EPauseStatus.Unpaused));

            Assert.AreEqual(0.0f, _postProcess.RequestCameraFadeAlpha);
            Assert.AreEqual(0.0f, _postProcess.RequestCameraFadeFadeTime);
        }
Beispiel #4
0
        public void Initialised_IdleTimeDoesNotPass_DoesNotSetTargetToAuthorLocation()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new HealthChangedMessage(-2, 1, new GameObject()));
            _goal.Initialise();

            Assert.IsNull(_pathfinding.TargetLocation);
        }
        public void Initialised_SetsFollowTargetToTargetObject()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            Assert.AreSame(_pathfinding.SetFollowTargetResult, _targetObject);
        }
        public void LeftDeadMessage_SetActive()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_detector, new EnterDeadActionStateMessage());
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_detector, new LeftDeadActionStateMessage());

            Assert.IsTrue(_vision.gameObject.activeSelf);
        }
        public void ReceivesCancelTrigger_EventOfInterestCancelNameNotSet_DoesNotRecordWithService()
        {
            _interest.EventOfInterestNameForCancelTrigger = "";
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_interest.TriggerObject, new CancelTriggerMessage(null));

            Assert.IsFalse(_service.EventRecorded);
        }
Beispiel #8
0
        public void Initialised_IdleTimeDoesNotPass_DoesNotSetTargetToSightingLocation()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectSightedMessage(_targetObject));
            _goal.Initialise();

            Assert.IsNull(_pathfinding.TargetLocation);
        }
        public void LeftDeadActionStateMessageReceived_StartsCameraFade()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_effects.gameObject, new LeftDeadActionStateMessage());

            Assert.AreEqual(0.0f, _postProcess.RequestCameraFadeAlpha);
            Assert.AreEqual(_effects.FadeOutTime, _postProcess.RequestCameraFadeFadeTime);
        }
 public void OnNoiseHeard(NoiseData inNoiseData)
 {
     if (NoisesOfInterest.Contains(inNoiseData.NoiseType))
     {
         UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(gameObject, new NoiseHeardMessage(inNoiseData));
     }
 }
Beispiel #11
0
        protected override void OnStart()
        {
            var character = Info.Owner.GetComponent <CharacterComponent>();

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(Info.Owner, new EnterLocomotionStateMessage());

            RegisterForInput(character);
        }
Beispiel #12
0
        public void Start_MultiTriggerFalse_NoCancel()
        {
            _triggerResponse.TestStart();

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_triggerResponse.TriggerObject, new CancelTriggerMessage(new GameObject()));

            Assert.IsNull(_triggerResponse.OnCancelTriggerGameObject);
        }
        public void ReceivePauseStatusChangedMessage_Unpaused_RequestNullActionState()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_playerUi.gameObject, new PauseStatusChangedMessage(EPauseStatus.Unpaused));

            Assert.AreEqual(EActionStateMachineTrack.UI, _actionStateMachineComponent.RequestedTrack);
            Assert.AreEqual(EActionStateId.Null, _actionStateMachineComponent.RequestedId);
            Assert.AreEqual(_playerUi.gameObject, _actionStateMachineComponent.RequestedInfo.Owner);
        }
Beispiel #14
0
 // IEmoteInterface
 public void SetEmoteState(EEmoteState inState)
 {
     if (_emoteState != inState)
     {
         _emoteState = inState;
         UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(gameObject, new EmoteStatusChangedMessage(_emoteState));
     }
 }
        public void Desirability_InProgress_ParamSpecified()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.CalculateDesirability();
            _goal.Initialise();

            Assert.AreEqual(_params.TargetDetectedDesirability, _goal.CalculateDesirability());
        }
Beispiel #16
0
        public void InvokeMessageEvent_NullDispatcher_ExceptionThrown()
        {
            TestUnityMessageEventDispatcherInterface dispatcherInterface = null;

            Assert.Throws <UnityMessageHandleException>(() =>
                                                        UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(dispatcherInterface,
                                                                                                                    new UnityTestMessagePayload()));
        }
Beispiel #17
0
        public void Initialised_IdleTimePasses_SetsTargetToSightingLocation()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectSightedMessage(_targetObject));
            _goal.Initialise();

            _goal.Update(_params.IdleDelayOnDetection + 0.1f);

            Assert.AreEqual(_targetObject.transform.position, _pathfinding.TargetLocation);
        }
        public void Terminated_CancelsPathfinding()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            _goal.Terminate();

            Assert.IsTrue(_pathfinding.CancelPathfindingCalled);
        }
        public void Desirability_OutsideFollowRadius_Zeroes()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            _targetObject.transform.position = new Vector3(_params.AbandonPursuitRadiusSquared, _params.AbandonPursuitRadiusSquared, 0.0f);

            Assert.AreEqual(0.0f, _goal.CalculateDesirability());
        }
Beispiel #20
0
 protected void OnGameObjectCollides(GameObject inCollidingObject)
 {
     if (inCollidingObject.GetComponent <CharacterComponent>() != null && !_previouslySaved)
     {
         _previouslySaved = true;
         PersistenceFunctions.WriteCurrentSave(GameDataStorageConstants.SaveDataPath, _persistence.Get());
         UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(inCollidingObject, new SaveGameTriggerActivatedMessage());
     }
 }
Beispiel #21
0
        public void Start_Trigger_RegistersForTriggerMessage()
        {
            var expectedObject = new GameObject();

            _triggerResponse.TestStart();

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_triggerResponse.TriggerObject, new TriggerMessage(expectedObject));

            Assert.AreSame(expectedObject, _triggerResponse.OnTriggerGameObject);
        }
        public void Update_TriesToAttackTarget()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            _goal.Update(1.0f);

            Assert.IsTrue(_attack.AttackCalled);
            Assert.AreSame(_targetObject, _attack.AttackedGameObject);
        }
        protected override void OnStart()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(Info.Owner, new EnterSpawningActionStateMessage());

            SetCamera(Info.Owner.GetComponent <CharacterComponent>());

            var actionStateMachine = Info.Owner.GetComponent <IActionStateMachineInterface>();

            actionStateMachine.RequestActionState(EActionStateMachineTrack.Locomotion, EActionStateId.Locomotion, Info);
        }
Beispiel #24
0
        public void Desirability_Terminated_Zero()
        {
            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectSightedMessage(_targetObject));
            _goal.CalculateDesirability();
            _goal.Initialise();

            _goal.Terminate();

            Assert.AreEqual(0.0f, _goal.CalculateDesirability());
        }
        public void OnEnterDeadActionStateMessage_RequestsRespawn()
        {
            _spawnable.TestStart();
            _spawnable.OnSpawned();

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_spawnable.gameObject, new EnterDeadActionStateMessage());

            Assert.AreSame(_spawnable.gameObject, _spawner.RequestRespawnGameObject);

            _spawnable.TestDestroy();
        }
        public void Terminated_SetsTargetDestinationToOriginalPosition()
        {
            var initialPosition = _pathfinding.gameObject.transform.position;

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new SuspiciousObjectDetectedMessage(_targetObject));
            _goal.Initialise();

            _goal.Terminate();

            Assert.AreEqual(initialPosition, _pathfinding.TargetLocation);
        }
Beispiel #27
0
        protected override void OnEnd()
        {
            var stamina = Info.Owner.GetComponent <IStaminaInterface>();

            if (stamina != null)
            {
                stamina.SetStaminaChangeEnabled(true, ELockStaminaReason.Dead);
            }

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(Info.Owner, new LeftDeadActionStateMessage());
        }
        public void Initialised_IdleTimeDoesNotPass_DoesNotSetTargetToNoiseLocation()
        {
            var expectedNoise = new NoiseData {
                NoiseLocation = new Vector3(2.0f, 3.0f, -1.0f)
            };

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_pathfinding.gameObject, new NoiseHeardMessage(expectedNoise));
            _goal.Initialise();

            Assert.IsNull(_pathfinding.TargetLocation);
        }
Beispiel #29
0
        public void Start_MultiTrigger_CancelMessage()
        {
            var expectedObject = new GameObject();

            _triggerResponse.TestStart();

            _triggerResponse.MultiTrigger = true;

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(_triggerResponse.TriggerObject, new CancelTriggerMessage(expectedObject));

            Assert.AreSame(expectedObject, _triggerResponse.OnCancelTriggerGameObject);
        }
Beispiel #30
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));
                }
            }
        }