public void RegisterForMessageEventOfType_InvokeReceivesMessageWithExpectedArgs()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload(false));

            Assert.IsTrue(responseObject.ActionCalled);
            Assert.IsFalse(responseObject.MessagePayload.Flag);

            dispatcher.UnregisterForMessageEvent(handle);
        }
Пример #2
0
        private void RegisterForMessages()
        {
            _healthChangedEventHandle    = _localDispatcher.RegisterForMessageEvent <HealthChangedMessage>(OnHealthChangedMessage);
            _maxHealthChangedEventHandle = _localDispatcher.RegisterForMessageEvent <MaxHealthChangedMessage>(OnMaxHealthChangedMessage);

            _staminaChangedEventHandle    = _localDispatcher.RegisterForMessageEvent <StaminaChangedMessage>(OnStaminaChangedMessage);
            _maxStaminaChangedEventHandle = _localDispatcher.RegisterForMessageEvent <MaxStaminaChangedMessage>(OnMaxStaminaChangedMessage);

            _enterDeadActionStateHandle = _localDispatcher.RegisterForMessageEvent <EnterDeadActionStateMessage>(OnEnterDeadActionStateMessage);
            _leftDeadActionStateHandle  = _localDispatcher.RegisterForMessageEvent <LeftDeadActionStateMessage>(OnLeftDeadActionStateMessage);

            _activeInteractableUpdatedHandle = _localDispatcher.RegisterForMessageEvent <ActiveInteractableUpdatedMessage>(OnActiveInteractableUpdated);
            _interactionStatusUpdatedHandle  = _localDispatcher.RegisterForMessageEvent <InteractionStatusUpdatedMessage>(OnInteractionStatusUpdated);

            _enterCinematicCameraHandle = _localDispatcher.RegisterForMessageEvent <EnterCinematicCameraActionStateMessage>(OnEnterCinematicCameraActionStateMessage);
            _exitCinematicCameraHandle  = _localDispatcher.RegisterForMessageEvent <ExitCinematicCameraActionStateMessage>(OnExitCinematicCameraActionStateMessage);

            _pauseStatusChangedHandle = _localDispatcher.RegisterForMessageEvent <PauseStatusChangedMessage>(OnPauseStatusChanged);

            _companionSlotsUpdatedHandle = _localDispatcher.RegisterForMessageEvent <CompanionSlotsUpdatedMessage>(OnCompanionSlotsUpdated);

            _saveTriggerActivatedHandle = _localDispatcher.RegisterForMessageEvent <SaveGameTriggerActivatedMessage>(OnSaveTriggerActivated);

            _gadgetUpdatedHandle = _localDispatcher.RegisterForMessageEvent <GadgetUpdatedMessage>(OnGadgetUpdated);
        }