Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
chatinputmenu.c
Go to the documentation of this file.
1class ChatInputMenu extends UIScriptedMenu
2{
6 private ref Timer m_close_timer;
7
9 {
10 m_close_timer = new Timer();
11 }
12
13 override Widget Init()
14 {
16 layoutRoot = g_Game.GetWorkspace().CreateWidgets("gui/layouts/day_z_chat_input.layout");
17 m_edit_box = EditBoxWidget.Cast(layoutRoot.FindAnyWidget("InputEditBoxWidget"));
18 m_channel_text = TextWidget.Cast(layoutRoot.FindAnyWidget("ChannelText"));
19
21 return layoutRoot;
22 }
23
24 override bool UseKeyboard()
25 {
26 return true;
27 }
28
29 override bool OnChange(Widget w, int x, int y, bool finished)
30 {
31 super.OnChange(w, x, y, finished);
32
33 if (!finished) return false;
34
35 string text = m_edit_box.GetText();
36
37 if (text != "")
38 {
39 g_Game.ChatPlayer(text);
40 if (!g_Game.IsMultiplayer())
41 {
42 string name;
43 g_Game.GetPlayerName(name);
44 ChatMessageEventParams chat_params = new ChatMessageEventParams(CCDirect, name, text, "");
45 MissionGameplay.Cast(g_Game.GetMission()).m_Chat.Add(chat_params);
46 }
47 }
48
49 m_close_timer.Run(0.1, this, "Close");
50
51 GetUApi().GetInputByID(UAPersonView).Supress();
52
53 return true;
54 }
55
56 override void OnShow()
57 {
59 }
60
61 override void OnHide()
62 {
63 super.OnHide();
64 g_Game.GetMission().HideChat();
65
66 if (!g_Game.GetMission().IsVoNActive())
67 g_Game.GetMission().HideVoiceLevelWidgets();
68 }
69
70 override void Refresh()
71 {
72 }
73
74 override void Update(float timeslice)
75 {
76 if (m_BackInputWrapper.InputP().LocalPress())
77 {
78 Close();
79 }
80 }
81
83 {
84 m_channel_text.SetText(GetChannelName(/*g_Game.ChatGetChannel()*/0));
85 }
86
87 static string GetChannelName(ChatChannel channel)
88 {
89 switch (channel)
90 {
91 case CCSystem:
92 return "System";
93 case CCAdmin:
94 return "Admin";
95 case CCDirect:
96 return "Direct";
97 case CCMegaphone:
98 return "Megaphone";
99 case CCTransmitter:
100 return "Radio";
101 case CCPublicAddressSystem:
102 return "PAS";
103 }
104
105 return "";
106 }
107}
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
proto native UAInput GetInputByID(int iID)
returns list of all bindable (i.e. visible) inputs from the active group ('core' by default)
proto native UAIDWrapper GetPersistentWrapper()
proto native void Supress()
Xbox menu.
Definition dayzgame.c:64
UAIDWrapper m_BackInputWrapper
override bool OnChange(Widget w, int x, int y, bool finished)
static string GetChannelName(ChatChannel channel)
override void Update(float timeslice)
override bool UseKeyboard()
override void Refresh()
override void OnShow()
ref Timer m_close_timer
void ChatInputMenu()
EditBoxWidget m_edit_box
TextWidget m_channel_text
override void OnHide()
override Widget Init()
DayZGame g_Game
Definition dayzgame.c:3942
int ChatChannel
Definition gameplay.c:400
Param4< int, string, string, string > ChatMessageEventParams
channel, from, text, color config class
Definition gameplay.c:407
proto native void SetFocus(Widget w)
Icon x
Icon y
void Close()
proto native UAInputAPI GetUApi()