public void ShowBattleChatMessagesOnMessageReceived(NodeAddedEvent e, MessageNode battleChatMessageGUI, [JoinByScreen] SingleNode <BattleChatUIComponent> battleChat, [JoinByScreen] ChatContentNode chatContentNode, [JoinAll] Optional <SingleNode <BattleActionsStateComponent> > battleActionsState, [JoinAll] Optional <SingleNode <BattleShaftAimingStateComponent> > battleAimState) { if ((battleActionsState.IsPresent() || battleAimState.IsPresent()) && !battleChatMessageGUI.chatMessageUI.showed) { battleChatMessageGUI.chatMessageUI.showed = true; chatContentNode.visibilityPrerequisites.AddShowPrerequisite(BATTLE_CHAT_SHOW_MESSAGES_PREREQUISITE, false); this.HideMessagesDelayed(chatContentNode); } }
public void ShowBattleChatMessagesOnChatState(NodeAddedEvent e, BattleChatStateNode battleChatStateNode, [JoinByScreen] ChatContentNode chatContentNode) { chatContentNode.visibilityPrerequisites.AddShowPrerequisite(BATTLE_CHAT_SHOW_MESSAGES_PREREQUISITE, false); }
public void HideBattleChatMessages(NodeRemoveEvent e, BattleChatStateNode battleChatStateNode, [JoinByScreen] ChatContentNode chatContentNode) { this.HideMessagesDelayed(chatContentNode); }
private void HideMessagesDelayed(ChatContentNode chatContentNode) { ScheduledEvent scheduledEvent = base.NewEvent <StopVisiblePeriodEvent>().Attach(chatContentNode).ScheduleDelayed((float)chatContentNode.visibilityInterval.intervalInSec); chatContentNode.Entity.AddComponent(new HideBattleChatMessagesSheduleComponent(scheduledEvent)); }
public void DisableHideMessagesOnMessageReceived(NodeAddedEvent e, MessageNode battleChatMessageGUI, [JoinByScreen] SingleNode <BattleChatUIComponent> battleChat, [JoinByScreen] ChatContentNode chatContentNode, [JoinByScreen] ChatContentWithSheduleNode chatContentWithSheduleNode, [JoinAll] Optional <SingleNode <BattleActionsStateComponent> > battleActionsState, [JoinAll] Optional <SingleNode <BattleShaftAimingStateComponent> > battleAimState) { if (battleActionsState.IsPresent() || battleAimState.IsPresent()) { this.DisableHideMessagesSchedule(chatContentWithSheduleNode); } }