public void ReceivesStateChangeMessage_RelevantMessageSetActive()
        {
            const EEmoteState state = EEmoteState.Alerted;

            _dispatcher.InvokeMessageEvent(new EmoteStatusChangedUIMessage(state));

            Assert.IsTrue(_emote.EmoteGraphics.Find((image) => image.State == state).DisplayImage.gameObject.activeSelf);
        }
Exemple #2
0
 public void RequestDialogue()
 {
     if (_dialogueMappings.ContainsKey(DefaultDialogueEntry))
     {
         var dialogueLines = _dialogueMappings[DefaultDialogueEntry];
         _uiDispatcher.InvokeMessageEvent(new RequestDialogueUIMessage(dialogueLines.Lines, 0, null));
     }
 }
Exemple #3
0
 private void OnEventOfInterest(string inKey)
 {
     if (_chatterEntries.ContainsKey(inKey))
     {
         var entry = _chatterEntries[inKey];
         _uiDispatcher.InvokeMessageEvent(new RequestDialogueUIMessage(entry.Lines, entry.Priority, OnDialogueComplete));
     }
 }
        protected override void OnStart()
        {
            _mousePreviouslyEnabled = Cursor.visible;
            Cursor.visible          = true;

            _uiDispatcher = GameInstance.CurrentInstance.GetUIMessageDispatcher();

            _uiDispatcher.InvokeMessageEvent(new RequestInGameMenuActivationMessage());

            RegisterInputHandlers();
        }
        private IEnumerator LoadNextLevel()
        {
            // So it doesn't insta load
            yield return(new WaitForSeconds(LoadDelay));

            var result = LoadingFunctions.LoadSceneAsync(_levelName);

            result.allowSceneActivation = false;

            while (result.progress < 0.9f)
            {
                _uiDispatcher.InvokeMessageEvent(new LoadingProgressUpdatedUIMessage(result.progress));
                yield return(null);
            }

            _uiDispatcher.InvokeMessageEvent(new LoadingProgressUpdatedUIMessage(result.progress));

            yield return(new WaitForSeconds(LoadDelay));

            result.allowSceneActivation = true;
        }
        public void UnregisterForMessageEvent_NoLongerReceivesEvents()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

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

            dispatcher.UnregisterForMessageEvent(handle);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload());
            Assert.IsFalse(responseObject.ActionCalled);
        }
        public void RegisterForMessageEventOfType_InvokeDoesNotReceiveMessagesOfOtherTypes()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

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

            dispatcher.InvokeMessageEvent(new OtherUnityTestMessagePayload(false));

            Assert.IsFalse(responseObject.ActionCalled);

            dispatcher.UnregisterForMessageEvent(handle);
        }
        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);
        }
        protected override void OnEnd()
        {
            UnregisterInputHandlers();

            _uiDispatcher.InvokeMessageEvent(new RequestInGameMenuDeactivationMessage());

            _uiDispatcher = null;

            if (!_mousePreviouslyEnabled)
            {
                if (VirtualMouseInstance.CurrentVirtualMouse != null)
                {
                    VirtualMouseInstance.CurrentVirtualMouse.SetMouseVisibile(false);
                }
                Cursor.visible = false;
            }
        }
        public void RegisterForMessageEventOfType_InvokeReceivesMessageWithExpectedArgsForAllRegisteredListeners()
        {
            var dispatcher           = new UnityMessageEventDispatcher();
            var firstResponseObject  = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var secondResponseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var thirdResponseObject  = new UnityTestMessageHandleResponseObject <OtherUnityTestMessagePayload>();

            var firstHandle  = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(firstResponseObject.OnResponse);
            var secondHandle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(secondResponseObject.OnResponse);
            var thirdHandle  = dispatcher.RegisterForMessageEvent <OtherUnityTestMessagePayload>(thirdResponseObject.OnResponse);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload());

            Assert.IsTrue(firstResponseObject.ActionCalled);
            Assert.IsTrue(secondResponseObject.ActionCalled);
            Assert.IsFalse(thirdResponseObject.ActionCalled);

            dispatcher.UnregisterForMessageEvent(thirdHandle);
            dispatcher.UnregisterForMessageEvent(secondHandle);
            dispatcher.UnregisterForMessageEvent(firstHandle);
        }
Exemple #11
0
 private void OnHealthChangedMessage(HealthChangedMessage inMessage)
 {
     _uiDispatcher.InvokeMessageEvent(new HealthChangedUIMessage(inMessage.NewHealth));
 }