Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_GroupSubMenu.c
Go to the documentation of this file.
2{
5
6 //------------------------------------------------------------------------------------------------
7 override void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
8 {
9 super.OnTabCreate(menuRoot, buttonsLayout, index);
10
11 SCR_FactionManager factionManager = SCR_FactionManager.Cast(GetGame().GetFactionManager());
12 if (factionManager)
13 m_PlayerFaction = SCR_Faction.Cast(factionManager.GetLocalPlayerFaction());
14 else
15 m_PlayerFaction = null;
16
17 Widget chatPanel = menuRoot.FindAnyWidget("ChatPanel");
18 if (!chatPanel)
19 return;
20
21 m_ChatPanelComponent = SCR_ChatPanel.Cast(chatPanel.FindHandler(SCR_ChatPanel));
22 }
23
24 //------------------------------------------------------------------------------------------------
25 override void OnTabShow()
26 {
27 super.OnTabShow();
28
30 {
31 m_ChatPanelComponent.GetOnChatOpen().Insert(OnChatOpen);
32 m_ChatPanelComponent.GetOnChatClosed().Insert(OnChatClosed);
33
34 if (m_ChatPanelComponent.IsOpen())
35 OnChatOpen();
36
37 if (m_ChatPanelComponent.GetFadeOut() == false)
38 {
39 Widget chatContent = m_wMenuRoot.FindAnyWidget("ChatContent");
40 if (chatContent)
41 chatContent.SetVisible(true);
42
43 SCR_FadeInOutAnimator chatAnimator = m_ChatPanelComponent.GetFadeInOutAnimator();
44 if (chatAnimator)
45 chatAnimator.GetOnStateChanged().Insert(OnAnimatorStateChanged);
46 }
47 }
48 }
49
50 //------------------------------------------------------------------------------------------------
51 override void OnTabHide()
52 {
53 super.OnTabHide();
54
56 {
57 m_ChatPanelComponent.GetOnChatOpen().Remove(OnChatOpen);
58 m_ChatPanelComponent.GetOnChatClosed().Remove(OnChatClosed);
59 }
60 }
61
62 //------------------------------------------------------------------------------------------------
63 protected void OnChatOpen()
64 {
65 Widget chatContent = m_wMenuRoot.FindAnyWidget("ChatContent");
66 if (chatContent)
67 chatContent.SetVisible(true);
68 }
69
70 //------------------------------------------------------------------------------------------------
71 protected void OnChatClosed()
72 {
73 if (SCR_ChatPanelManager.GetInstance().GetMessages().Count() == 0)
74 {
75 Widget chatContent = m_wMenuRoot.FindAnyWidget("ChatContent");
76 if (chatContent)
77 chatContent.SetVisible(false);
78
79 return;
80 }
81
82 SCR_FadeInOutAnimator chatAnimator = m_ChatPanelComponent.GetFadeInOutAnimator();
83 if (!chatAnimator)
84 return;
85
86 chatAnimator.GetOnStateChanged().Insert(OnAnimatorStateChanged);
87 }
88
89 //------------------------------------------------------------------------------------------------
90 protected void OnAnimatorStateChanged(int formerState, int actualState)
91 {
92 if (formerState == 2 && actualState == 3)
93 {
94 Widget chatContent = m_wMenuRoot.FindAnyWidget("ChatContent");
95 if (chatContent)
96 chatContent.SetVisible(false);
97
98 m_ChatPanelComponent.GetFadeInOutAnimator().GetOnStateChanged().Remove(OnAnimatorStateChanged);
99 }
100 }
101}
ArmaReforgerScripted GetGame()
Definition game.c:1398
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
void SCR_FactionManager(IEntitySource src, IEntity parent)
array< ref SCR_ChatMessage > GetMessages()
Returns the array of messages. Array is not a copy, so be careful.
static SCR_ChatPanelManager GetInstance()
Returns SCR_ChatPanelManager instance.
override void OnTabShow()
override void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
void OnAnimatorStateChanged(int formerState, int actualState)
SCR_ChatPanel m_ChatPanelComponent
override void OnTabHide()