1class ServerBrowserDetailsContainer
extends ScriptedWidgetEventHandler
6 protected TextWidget m_ServerNameText;
7 protected TextWidget m_ServerTypeResult;
8 protected TextWidget m_ServerModeResult;
9 protected TextWidget m_LastCharacterResult;
10 protected TextWidget m_ServerIP;
12 #ifdef PLATFORM_WINDOWS
13 #ifndef PLATFORM_CONSOLE
14 protected GridSpacerWidget m_FriendsContainer;
15 protected TextWidget m_FriendsResult;
19 protected TextWidget m_TimeAccelerationResult;
20 protected ImageWidget m_TimeIcon;
22 protected TextWidget m_BattleyeResult;
24 protected WrapSpacerWidget m_VersionContainer;
25 protected TextWidget m_VersionResult;
27 protected GridSpacerWidget m_ServerDecContainer;
28 protected MultilineTextWidget m_ServerDesc;
30 protected WrapSpacerWidget m_DetailsContainerRight;
31 protected ImageWidget m_MapImage;
36 protected bool m_IsOnline;
43 m_ServerNameText = TextWidget.Cast(root.FindAnyWidget(
"details_servername_label"));
44 m_ServerTypeResult = TextWidget.Cast(root.FindAnyWidget(
"details_servertype_result_label"));
45 m_ServerModeResult = TextWidget.Cast(root.FindAnyWidget(
"details_mode_result_label"));
46 m_LastCharacterResult = TextWidget.Cast(root.FindAnyWidget(
"details_character_result_label"));
47 m_ServerIP = TextWidget.Cast(root.FindAnyWidget(
"details_ip_result_label"));
49 #ifdef PLATFORM_WINDOWS
50 #ifndef PLATFORM_CONSOLE
51 m_FriendsContainer = GridSpacerWidget.Cast(root.FindAnyWidget(
"details_friends_container"));
52 m_FriendsResult = TextWidget.Cast(root.FindAnyWidget(
"details_friends_result_label"));
56 m_TimeAccelerationResult = TextWidget.Cast(root.FindAnyWidget(
"details_time_result_label"));
57 m_TimeIcon = ImageWidget.Cast(root.FindAnyWidget(
"detail_time_img"));
59 m_BattleyeResult = TextWidget.Cast(root.FindAnyWidget(
"details_battleye_result_label"));
61 m_VersionContainer = WrapSpacerWidget.Cast(root.FindAnyWidget(
"details_version_container"));
62 m_VersionResult = TextWidget.Cast(root.FindAnyWidget(
"details_version_result_label"));
64 m_ServerDecContainer = GridSpacerWidget.Cast(root.FindAnyWidget(
"details_description_container"));
65 m_ServerDesc = MultilineTextWidget.Cast(root.FindAnyWidget(
"details_description_label"));
67 m_DetailsContainerRight = WrapSpacerWidget.Cast(root.FindAnyWidget(
"details_container_right"));
68 m_MapImage = ImageWidget.Cast(root.FindAnyWidget(
"map_image"));
70 m_TimeIcon.LoadImageFile(0,
"set:dayz_gui image:icon_sun");
71 m_TimeIcon.LoadImageFile(1,
"set:dayz_gui image:icon_sun_accel");
72 m_TimeIcon.LoadImageFile(2,
"set:dayz_gui image:icon_moon");
73 m_TimeIcon.LoadImageFile(3,
"set:dayz_gui image:icon_moon_accel");
75 m_BtnShowFilters = ButtonWidget.Cast(parent.GetDetailsRoot().FindAnyWidget(
"show_filters_button"));
76 m_RefreshList = ButtonWidget.Cast(parent.GetFilterRoot().FindAnyWidget(
"refresh_list_button"));
79 void SetDetails(GetServersResultRow serverInfo,
bool online =
false)
89 SetName(serverInfo.m_Name);
90 #ifdef PLATFORM_WINDOWS
91 #ifndef PLATFORM_CONSOLE
93 SetMode(serverInfo.m_Disable3rdPerson);
96 #ifdef PLATFORM_CONSOLE
97 SetMode(serverInfo.m_ModeId);
98 SetConsoleType(serverInfo.m_Official);
100 SetServerIP(serverInfo.GetIpPort());
107 SetTimeIcon(serverInfo.m_TimeOfDay, serverInfo.m_EnvironmentTimeMul);
108 #ifdef PLATFORM_WINDOWS
109 #ifndef PLATFORM_CONSOLE
110 SetCharacter(serverInfo.m_CharactersAlive);
111 SetFriends(serverInfo.m_SteamFriends);
125 SetServerDesc(serverInfo.m_Description);
129 m_DetailsContainerRight.Show(
false);
135 m_ServerNameText.SetText(
"#STR_server_browser_details_no_server_selected");
136 m_ServerTypeResult.SetText(
"-");
137 m_ServerModeResult.SetText(
"-");
138 m_ServerIP.SetText(
"-");
139 m_TimeIcon.Show(
false);
140 m_TimeAccelerationResult.Show(
true);
141 m_TimeAccelerationResult.SetText(
"-");
144 protected void SetName(
string name)
146 m_ServerNameText.SetText(
name);
147 m_ServerNameText.Update();
150 protected void SetType(
string shardId)
152 string result =
"#server_browser_tab_community";
153 if (shardId.Length() == 3 && shardId.ToInt() < 200)
154 result =
"#server_browser_entry_official";
156 m_ServerTypeResult.SetText(result);
159 #ifdef PLATFORM_CONSOLE
160 protected void SetConsoleType(
bool offical)
162 string result =
"#server_browser_tab_community";
164 result =
"#server_browser_entry_official";
166 m_ServerTypeResult.SetText(result);
170 protected void SetMode(
int mode)
172 string result =
"#STR_server_browser_no_server_selected";
177 result =
"#STR_server_browser_details_third_person";
182 result =
"#STR_server_browser_details_first_person";
187 m_ServerModeResult.SetText(result);
190 protected void SetServerIP(
string ip)
192 m_ServerIP.SetText(ip);
195#ifdef PLATFORM_WINDOWS
196 #ifndef PLATFORM_CONSOLE
197 protected void SetCharacter(
string characterName)
199 string result =
"#STR_server_browser_char_not_alive";
200 if (characterName !=
"")
201 result = characterName;
203 m_LastCharacterResult.SetText(result);
206 protected void SetFriends(
string steamFriends =
"")
209 if (steamFriends !=
"")
210 result = steamFriends;
212 m_FriendsResult.SetText(result);
213 m_FriendsResult.Update();
218 protected void SetTimeAcceleration(
float timeMul,
float nightTimeMul)
220 m_TimeAccelerationResult.SetText(timeMul.ToString() +
"/" + nightTimeMul.ToString());
223 void SetTimeIcon(
string time,
float multiplier)
228 time.Split(
":", arr);
230 if (arr.Count() == 2)
232 int hour = arr.Get(0).ToInt();
233 int minute = arr.Get(1).ToInt();
235 if (hour >= 19 || hour <= 5)
238 m_TimeIcon.SetImage(3);
240 m_TimeIcon.SetImage(2);
245 m_TimeIcon.SetImage(1);
247 m_TimeIcon.SetImage(0);
250 m_TimeIcon.Show(
true);
251 m_TimeAccelerationResult.Show(
false);
256 m_TimeIcon.Show(
false);
257 m_TimeAccelerationResult.Show(
true);
258 m_TimeAccelerationResult.SetText(
"-");
262 protected void SetBattleyeState(
int enabled = -1)
264 string result =
"#STR_server_browser_no_server_selected";
265 int color =
ARGB(255, 255, 255, 255);
271 result =
"#server_browser_entry_disabled";
272 color =
ARGB(255, 255, 0, 0);
277 result =
"#server_browser_entry_enabled";
278 color =
ARGB(255, 0, 255, 0);
283 m_BattleyeResult.SetText(result);
284 m_BattleyeResult.SetColor(color);
287 protected void SetVersion(
string version)
289 m_VersionResult.SetText(version);
292 protected void SetServerDesc(
string desc)
294 m_ServerDesc.SetText(desc);
295 m_ServerDesc.Update();
298 protected void SetServerMap(GetServersResultRow serverInfo)
300 string mapImagePath = ServerBrowserHelperFunctions.GetServerMapImagePath(serverInfo.m_MapNameToRun);
301 m_MapImage.LoadImageFile(0, mapImagePath);
302 m_DetailsContainerRight.Show(
true);
307 #ifdef PLATFORM_CONSOLE
308 if (m_Tab.GetTabType() ==
TabType.FAVORITE)
319 override bool OnFocus(Widget w,
int x,
int y)
321 m_Tab.OnDetailsFocus(w);
void SetType(eBleedingSourceType type)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
override bool OnMouseEnter(Widget w, int x, int y)
array< string > TStringArray
int ARGB(int a, int r, int g, int b)
void ServerBrowserTab(Widget parent, ServerBrowserMenuNew menu, TabType type)
ButtonWidget m_BtnShowFilters
override bool OnFocus(Widget w, int x, int y)
override bool OnMouseEnter(Widget w, int x, int y)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)