DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ChatInputMenu.c
См. документацию.
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
DayZGame g_Game
Определения DayZGame.c:3942
Icon x
Icon y
void Close()
proto native UAInputAPI GetUApi()
Определения EnWidgets.c:354
Определения EnWidgets.c:220
Определения DayZPlayerImplement.c:39
Определения UAInput.c:15
proto native void Supress()
proto native UAIDWrapper GetPersistentWrapper()
proto native UAInput GetInputByID(int iID)
returns list of all bindable (i.e. visible) inputs from the active group ('core' by default)
override void OnShow()
Определения ChatInputMenu.c:56
override void Update(float timeslice)
Определения ChatInputMenu.c:74
TextWidget m_channel_text
Определения ChatInputMenu.c:4
UAIDWrapper m_BackInputWrapper
Определения ChatInputMenu.c:5
override void Refresh()
Определения ChatInputMenu.c:70
void UpdateChannel()
Определения ChatInputMenu.c:82
ref Timer m_close_timer
Определения ChatInputMenu.c:6
override void OnHide()
Определения ChatInputMenu.c:61
override bool OnChange(Widget w, int x, int y, bool finished)
Определения ChatInputMenu.c:29
void ChatInputMenu()
Определения ChatInputMenu.c:8
override bool UseKeyboard()
Определения ChatInputMenu.c:24
override Widget Init()
Определения ChatInputMenu.c:13
EditBoxWidget m_edit_box
Определения ChatInputMenu.c:3
static string GetChannelName(ChatChannel channel)
Определения ChatInputMenu.c:87
Определения DayZGame.c:64
Определения EnWidgets.c:190
int ChatChannel
Определения gameplay.c:400
Param4< int, string, string, string > ChatMessageEventParams
channel, from, text, color config class
Определения gameplay.c:407
proto native void SetFocus(Widget w)