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); }
public void RequestDialogue() { if (_dialogueMappings.ContainsKey(DefaultDialogueEntry)) { var dialogueLines = _dialogueMappings[DefaultDialogueEntry]; _uiDispatcher.InvokeMessageEvent(new RequestDialogueUIMessage(dialogueLines.Lines, 0, null)); } }
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); }
private void OnHealthChangedMessage(HealthChangedMessage inMessage) { _uiDispatcher.InvokeMessageEvent(new HealthChangedUIMessage(inMessage.NewHealth)); }