示例#1
0
        public void Start_DropsHoldable()
        {
            _deadActionState = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            _deadActionState.Start();

            Assert.IsTrue(_heldItem.DropHoldableCalled);
        }
示例#2
0
        public void Start_DisablesStaminaRegenForDeadReason()
        {
            _deadActionState = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            _deadActionState.Start();

            Assert.IsFalse(_stamina.SetStaminaChangeEnabledResult);
            Assert.AreEqual(ELockStaminaReason.Dead, _stamina.SetStaminaChangeEnabledReason);
        }
示例#3
0
        public void AfterTest()
        {
            _deadActionState = null;

            _heldItem     = null;
            _stamina      = null;
            _playerBinder = null;

            GameModeComponent.RegisteredGameMode = null;
        }
示例#4
0
        public void Start_SendsEnterEventToOwner()
        {
            _deadActionState = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            var eventSpy = new UnityTestMessageHandleResponseObject <EnterDeadActionStateMessage>();
            var handle   =
                UnityMessageEventFunctions.RegisterActionWithDispatcher <EnterDeadActionStateMessage>(_playerBinder.gameObject, eventSpy.OnResponse);

            _deadActionState.Start();

            Assert.IsTrue(eventSpy.ActionCalled);

            UnityMessageEventFunctions.UnregisterActionWithDispatcher(_playerBinder.gameObject, handle);
        }
示例#5
0
        public void Update_ConditionsNotComplete_DoesNotFireRequestRespawnEventToGameMode()
        {
            _deadActionState = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            var eventSpy = new UnityTestMessageHandleResponseObject <RequestRespawnMessage>();
            var handle   =
                UnityMessageEventFunctions.RegisterActionWithDispatcher <RequestRespawnMessage>(GameModeComponent.RegisteredGameMode.gameObject, eventSpy.OnResponse);

            _deadActionState.Start();
            _deadActionState.Update(1.0f);

            Assert.IsFalse(eventSpy.ActionCalled);

            UnityMessageEventFunctions.UnregisterActionWithDispatcher(GameModeComponent.RegisteredGameMode.gameObject, handle);
        }
示例#6
0
        public void Update_ConditionsCompleteCannotRespawn_DoesNotFireRequestRespawnEventToGameMode()
        {
            _params.CanRespawn = false;
            _deadActionState   = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            var eventSpy = new UnityTestMessageHandleResponseObject <RequestRespawnMessage>();
            var handle   =
                UnityMessageEventFunctions.RegisterActionWithDispatcher <RequestRespawnMessage>(GameModeComponent.RegisteredGameMode.gameObject, eventSpy.OnResponse);

            _deadActionState.Start();
            _playerBinder.RegisteredHandlers[0].HandleButtonInput(_deadActionState.ValidProgressingInputs[0], true);
            _deadActionState.Update(1.0f);

            Assert.IsFalse(eventSpy.ActionCalled);

            UnityMessageEventFunctions.UnregisterActionWithDispatcher(GameModeComponent.RegisteredGameMode.gameObject, handle);
        }
示例#7
0
        public void EnterState_IdIsDeadActionState()
        {
            _deadActionState = new DeadActionState(new ActionStateInfo(_playerBinder.gameObject), _params);

            Assert.AreEqual(EActionStateId.Dead, _deadActionState.ActionStateId);
        }