Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
serverbrowsertabconsolepages.c
Go to the documentation of this file.
2{
3 private bool m_IsFilterChanged;
4 private bool m_IsFilterFocused;
5 protected bool m_MouseKeyboardControlled
6
7 private Widget m_WidgetNavFilters;
8 private Widget m_WidgetNavServers;
9
10 protected Widget m_ButtonPageLeftImg;
11 protected Widget m_ButtonPageRightImg;
12
13 protected int m_PreviousPage;
14 protected int m_TotalServersCount;
15 protected int m_PageStartNum;
16 protected int m_PageEndNum;
17 protected int m_PagesCount;
21
22 protected Widget m_PnlPagesPanel;
23 protected TextWidget m_PnlPagesLoadingText;
25
26 private bool m_IsDetailsFocused;
27
28 protected override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
29 {
30 m_Root = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/server_browser/xbox/server_browser_tab_console_pages.layout", parent);
31
32 m_ServerListScroller = ScrollWidget.Cast( m_Root.FindAnyWidget("server_list_scroller"));
33 m_ServerList = SpacerBaseWidget.Cast(m_ServerListScroller.FindAnyWidget("server_list_content"));
34 m_ServerListScroller.VScrollToPos01(0);
35
36 m_ServerListEntiers = new array<ref ServerBrowserEntry>;
39
42
43 m_Menu = menu;
44 m_TabType = type;
45
46 m_FilterRoot = m_Root.FindAnyWidget("filters_root");
47 m_FilterContent = m_Root.FindAnyWidget("filters_content");
48 m_ApplyFilter = m_Root.FindAnyWidget("apply_filter_button");
49 m_ResetFilters = m_Root.FindAnyWidget("reset_filter_button");
50 m_RefreshList = m_Root.FindAnyWidget("refresh_list_button");
51 m_FiltersChanged = m_Root.FindAnyWidget("unapplied_filters_notify");
52 m_HostSort = m_Root.FindAnyWidget("server_list_content_header_host");
53 m_TimeSort = m_Root.FindAnyWidget("server_list_content_header_time");
54 m_PopulationSort = m_Root.FindAnyWidget("server_list_content_header_population");
55 m_SlotsSort = m_Root.FindAnyWidget("server_list_content_header_slots");
56 m_PingSort = m_Root.FindAnyWidget("server_list_content_header_ping");
57 m_MapSort = m_Root.FindAnyWidget("server_list_content_header_map");
58 m_FilterSearchText = m_Root.FindAnyWidget("search_name_button");
59 m_FilterSearchTextBox = m_Root.FindAnyWidget("search_name_setting_option");
60 m_LoadingText = TextWidget.Cast( m_Root.FindAnyWidget("loading_servers_info"));
61 m_WidgetNavFilters = m_Root.FindAnyWidget("filters_root_nav_wrapper");
62 m_WidgetNavServers = m_Root.FindAnyWidget("server_list_root_nav_wrapper");
63
64 m_BtnPagePrev = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_prev"));
65 m_BtnPageNext = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_next"));
66
67 #ifdef PLATFORM_PS4
68 m_ButtonPageLeftImg = m_Root.FindAnyWidget("servers_navigation_page_prev_icon_ps4");
69 m_ButtonPageRightImg = m_Root.FindAnyWidget("servers_navigation_page_next_icon_ps4");
70 m_Root.FindAnyWidget("servers_navigation_page_prev_icon_xbox").Show(false);
71 m_Root.FindAnyWidget("servers_navigation_page_next_icon_xbox").Show(false);
72 #else
73 m_ButtonPageLeftImg = m_Root.FindAnyWidget("servers_navigation_page_prev_icon_xbox");
74 m_ButtonPageRightImg = m_Root.FindAnyWidget("servers_navigation_page_next_icon_xbox");
75 m_Root.FindAnyWidget("servers_navigation_page_prev_icon_ps4" ).Show(false);
76 m_Root.FindAnyWidget("servers_navigation_page_next_icon_ps4" ).Show(false);
77 #endif
78
79 m_RightAreaHeaderText = TextWidget.Cast(m_Root.FindAnyWidget("right_area_header_text"));
80 m_FilterRoot = m_Root.FindAnyWidget("filters_root");
81 m_BtnShowDetails = ButtonWidget.Cast(m_Root.FindAnyWidget("show_details_button"));
82
83 m_DetailsRoot = m_Root.FindAnyWidget("details_root");
84 m_BtnShowFilters = ButtonWidget.Cast(m_Root.FindAnyWidget("show_filters_button"));
85
86 ShowHideConsoleWidgets();
87
88 m_Filters = new ServerBrowserFilterContainer(m_Root.FindAnyWidget("filters_content"), this);
89
90 m_PnlPagesPanel = m_Root.FindAnyWidget( "servers_navigation_spacer" );
91 m_PreviousPage = 1;
93 m_PnlPagesPanel.Show(true);
94 m_LoadingFinished = true;
95
96 m_Filters.OnSortChanged(m_Filters.m_SortingFilter.GetValue());
97 UpdatePageButtons();
98
99 m_Root.SetHandler(this);
100 m_FilterSearchTextBox.SetHandler(this);
101
102 GetGame().GetMission().GetOnInputDeviceChanged().Insert(OnInputDeviceChanged);
103
104 OnInputDeviceChanged(GetGame().GetInput().GetCurrentInputDevice());
105
106 m_Details = new ServerBrowserDetailsContainer(m_Root.FindAnyWidget("details_content"), this);
107 }
108
110 {
111 bool is_xbox = true;
112
113 #ifdef PLATFORM_PS4
114 is_xbox = false;
115 #endif
116
117 m_Root.FindAnyWidget( "filters_root_nav_img_lb_xbox" ).Show( is_xbox );
118 m_Root.FindAnyWidget( "filters_root_nav_img_rb_xbox" ).Show( is_xbox );
119 m_Root.FindAnyWidget( "server_list_root_nav_img_lb_xbox" ).Show( is_xbox );
120 m_Root.FindAnyWidget( "server_list_root_nav_img_rb_xbox" ).Show( is_xbox );
121
122 m_Root.FindAnyWidget( "filters_root_nav_img_l1_ps4" ).Show( !is_xbox );
123 m_Root.FindAnyWidget( "filters_root_nav_img_r1_ps4" ).Show( !is_xbox );
124 m_Root.FindAnyWidget( "server_list_root_nav_img_l1_ps4" ).Show( !is_xbox );
125 m_Root.FindAnyWidget( "server_list_root_nav_img_r1_ps4" ).Show( !is_xbox );
126 }
127
128 protected void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
129 {
130 switch (pInputDeviceType)
131 {
132 case EInputDeviceType.CONTROLLER:
133 ShowHideConsoleWidgets();
134 UpdatePageButtons();
135 m_WidgetNavFilters.Show(m_IsFilterFocused || m_IsDetailsFocused);
136 if (m_TabType != TabType.FAVORITE)
137 {
138 m_WidgetNavServers.Show((!m_IsFilterFocused && !m_IsDetailsFocused));
139 }
140 m_BtnShowFilters.Show(false);
141 m_BtnShowDetails.Show(false);
142 m_RefreshList.Show(false);
143 m_Root.FindAnyWidget("spacer2").Show(false);
144 m_Root.FindAnyWidget("spacer5").Show(false);
145 m_Menu.GetLayoutRoot().FindAnyWidget("play_panel_root").Show(false);
146 m_Menu.GetLayoutRoot().FindAnyWidget("MouseAndKeyboardWarning").Show(false);
147 m_MouseKeyboardControlled = false;
148 break;
149
150 default:
151 if (GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer())
152 {
153 bool isFavoriteTab = m_TabType == TabType.FAVORITE;
154 m_WidgetNavFilters.Show(false);
155 m_WidgetNavServers.Show(false);
156 m_ButtonPageLeftImg.Show(false);
157 m_ButtonPageRightImg.Show(false);
158 m_RefreshList.Show(true);
159 m_BtnShowDetails.Show(!m_DetailsRoot.IsVisible());
160 m_BtnShowFilters.Show(!isFavoriteTab);
161 m_Root.FindAnyWidget("spacer").Show(!isFavoriteTab);
162 m_Root.FindAnyWidget("spacer2").Show(true);
163 m_Root.FindAnyWidget("spacer5").Show(!isFavoriteTab);
164 m_Menu.GetLayoutRoot().FindAnyWidget("play_panel_root").Show(true);
165 m_Menu.GetLayoutRoot().FindAnyWidget("MouseAndKeyboardWarning").Show(true);
166 m_MouseKeyboardControlled = true;
167 }
168 break;
169 }
170 }
171
172 override void OnLoadServersAsyncConsole( GetServersResult result_list, EBiosError error, string response )
173 {
174 if ( error != EBiosError.OK )
175 {
176 m_LoadingText.SetText( string.Format("Error: %1", ErrorModuleHandler.GetClientMessage(ErrorCategory.BIOSError, error)) );
177 m_Menu.SetServersLoadingTab( TabType.NONE );
178 m_LoadingFinished = true;
180 return;
181 }
182
183 m_PagesCount = result_list.m_Pages;
184 m_TotalServersCount = result_list.m_NumServers;
185
186 LoadEntries( result_list.m_Page, result_list.m_Results );
188 UpdatePageButtons();
189 }
190
192 {
193 string msg = "#servers_found: " + m_TotalLoadedServers;
194 if (m_TotalLoadedServers == 0)
195 {
196 msg = "#server_browser_tab_unable_to_get_server";
197 }
198
199 m_LoadingText.SetText(msg);
200 m_LoadingFinished = true;
201 m_Menu.SetServersLoadingTab(TabType.NONE);
202
203 if (m_ServerListEntiers && m_ServerListEntiers.Count() && m_SelectedPanel == SelectedPanel.BROWSER)
204 {
205 ServerBrowserEntry entry = m_ServerListEntiers[0];
206 if (entry)
207 {
208 entry.Darken(entry.GetRoot(), 0, 0);
209 entry.Select();
210 SetFocus(entry.GetRoot());
211 }
212 }
213 }
214
215 protected void LoadEntries( int cur_page_index , GetServersResultRowArray page_entries )
216 {
217 int index = 0;
218 ServerBrowserEntry entry;
219 m_TotalLoadedServers = m_TotalServersCount;
220
221 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
222 {
223 return;
224 }
225
226 // only load servers if they correspond to current page
227 if (cur_page_index != m_CurrentPageNum)
228 {
229 return;
230 }
231
232 if ( m_PagesCount && page_entries )
233 {
234 foreach ( GetServersResultRow result : page_entries )
235 {
236 if ( PassFilter( result ) )
237 {
238 string ipPort = result.GetIpPort();
239 bool isFavorited = m_Menu.IsFavorited(ipPort);
240
241 entry = GetServerEntryByIndex( index );
242 entry.SetIsOnline(true);
243 entry.FillInfo( result );
244 entry.SetFavorite(isFavorited);
245 entry.UpdateEntry();
246
247 if (isFavorited && m_OnlineFavServers.Find(ipPort) == -1)
248 {
249 m_OnlineFavServers.Insert(ipPort);
250 }
251
252 m_EntryWidgets.Insert(ipPort, entry);
253 m_EntriesSorted[m_SortType].Insert( result );
254
255 index++;
256 }
257
258 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
259 {
260 return;
261 }
262 }
263 }
264
265 LoadExtraEntries(index);
266 m_ServerList.Update();
267 }
268
269 override bool PassFilter(GetServersResultRow result)
270 {
271 if (m_Filters.m_PreviouslyPlayedFilter.IsSet())
272 {
273 bool is_visited = g_Game.IsVisited(result.m_HostIp, result.m_HostPort);
274 if (!is_visited && m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
275 return false;
276
277 if (is_visited && !m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
278 return false;
279 }
280
281 return super.PassFilter(result);
282 }
283
284 protected ServerBrowserEntry GetServerEntryByIndex( int index )
285 {
286 ServerBrowserEntry entry;
287
288 if ( index >= 0 )
289 {
290 if ( index < m_ServerListEntiers.Count() )
291 {
292 entry = m_ServerListEntiers[index];
293 }
294 else
295 {
296 entry = new ServerBrowserEntry( m_ServerList, index, this );
297 m_ServerListEntiers.Insert(entry);
298 }
299 }
300 else
301 {
302 return null;
303 }
304
305 entry.Show( true );
306
307 return entry;
308 }
309
310 override void OnFilterChanged()
311 {
312 m_IsFilterChanged = true;
313 }
314
316 {
317 return m_LoadingFinished;
318 }
319
320 override void RefreshList()
321 {
322 for ( int i = 0; i < m_ServerListEntiers.Count(); i++ )
323 {
324 m_ServerListEntiers[i].Show(false);
325 }
326
327 for ( int j = 0; j < m_EntriesSorted.Count(); j++ )
328 {
329 array<ref GetServersResultRow> result_rows = m_EntriesSorted.GetElement(j);
330
331 if ( result_rows )
332 {
333 result_rows.Clear();
334 }
335 }
336
337 m_IsFilterChanged = false;
338 m_Filters.SaveFilters();
339
340 super.RefreshList();
341
342 m_ServerListScroller.VScrollToPos01( 0 );
343
344 m_LoadingText.SetText( "#dayz_game_loading" );
345 }
346
347 override void ResetFilters()
348 {
349 super.ResetFilters();
350
351 m_IsFilterChanged = false;
352 }
353
354 override void ApplyFilters()
355 {
356 if ( m_IsFilterChanged )
357 {
359 }
360
361 m_IsFilterChanged = false;
362 m_CurrentFilterInput = m_Filters.GetFilterOptionsConsoles();
363 RefreshList();
364 }
365
366 override void PressA()
367 {
368
369 }
370
371 override void PressX()
372 {
374 }
375
377 {
378 if (m_TabType != TabType.FAVORITE && (GetGame().GetTime() - m_TimeLastServerRefresh) < 1000)
379 return;
380
381 m_TimeLastServerRefresh = GetGame().GetTime();
382 if (m_IsFilterChanged)
383 {
385 }
386 m_OnlineFavServers.Clear();
387 RefreshList();
388 }
389
390 override void PressY()
391 {
393 }
394
395 override void PressThumbRight()
396 {
397 switch (m_SelectedPanel)
398 {
399 case SelectedPanel.BROWSER:
400 {
402 {
403 m_Menu.ServerListFocus(true, m_SelectedServer.ToggleFavorite());
404 }
405 break;
406 }
407 case SelectedPanel.FILTERS:
408 {
409 if (m_Filters)
410 {
411 m_Filters.ResetFilters();
412 }
413 break;
414 }
415 }
416 }
417
418 override void Left()
419 {
420 if (!m_IsFilterFocused && !m_IsDetailsFocused)
421 {
422 int curr_page = GetCurrentPage();
423 m_PreviousPage = curr_page;
424 if ( curr_page > 1 )
425 {
426 SetCurrentPage( curr_page - 1 );
427 UpdatePageButtons();
428 }
429 }
430 }
431
432 override void LeftHold()
433 {
434 if (!m_IsFilterFocused && !m_IsDetailsFocused)
435 {
436 if ( (GetGame().GetTime() - m_TimeLastServerRefreshHoldButton) > 100 )
437 {
438 m_TimeLastServerRefreshHoldButton = GetGame().GetTime();
439 Left();
440 }
441 }
442 }
443
444 override void LeftRelease()
445 {
446 if ( !m_IsFilterFocused && GetCurrentPage() != m_PreviousPage )
447 {
448 RefreshList();
449 }
450 }
451
452 override void Right()
453 {
454 if (!m_IsFilterFocused && !m_IsDetailsFocused)
455 {
456 int curr_page = GetCurrentPage();
457 m_PreviousPage = curr_page;
458 if ( curr_page < m_PagesCount )
459 {
460 SetCurrentPage( curr_page + 1 );
461 UpdatePageButtons();
462 }
463 }
464 }
465
466 override void RightHold()
467 {
468 if (!m_IsFilterFocused && !m_IsDetailsFocused)
469 {
470 if ( (GetGame().GetTime() - m_TimeLastServerRefreshHoldButton) > 100 )
471 {
472 m_TimeLastServerRefreshHoldButton = GetGame().GetTime();
473 Right();
474 }
475 }
476 }
477
478 override void RightRelease()
479 {
480 if ((!m_IsFilterFocused && !m_IsDetailsFocused) && GetCurrentPage() != m_PreviousPage)
481 {
482 RefreshList();
483 }
484 }
485
486 override void PressSholderLeft()
487 {
489 }
490
491 override void PressSholderRight()
492 {
494 }
495
496 override void OnPressShoulder()
497 {
498 if (m_TabType == TabType.FAVORITE)
499 return;
500
501 switch (m_SelectedPanel)
502 {
503 case SelectedPanel.BROWSER:
504 {
505 if (m_TabType == TabType.FAVORITE)
506 {
508 }
509 else
510 {
512 }
513 break;
514 }
515 case SelectedPanel.DETAILS:
516 case SelectedPanel.FILTERS:
517 {
518 SetFocusServers();
519 break;
520 }
521 }
522 }
523
524 override void Focus()
525 {
526 if (m_TabType == TabType.FAVORITE)
527 {
528 SetFocusServers();
529 }
530 else
531 {
532 SwitchToFilters(true);
533 }
534 }
535
536 override void ShowServerDetails()
537 {
538 super.ShowServerDetails();
539
540 if (m_TabType != TabType.FAVORITE)
541 {
542 m_FilterRoot.Show(false);
543 m_BtnShowFilters.Show(m_MouseKeyboardControlled);
544 }
545 }
546
548 {
549 SetEnableFilters(true);
550 SetEnableServers(false);
551
552 // if loaded servers is 0, then hide Top navigation menu <Left / Right>
553 if (!m_MouseKeyboardControlled)
554 {
555 m_WidgetNavFilters.Show(true);
556 m_WidgetNavServers.Show(false);
557 }
558
559 m_Filters.Focus();
560 m_IsFilterFocused = true;
561 m_IsDetailsFocused = false;
562 m_Menu.ShowAButton(true);
563
564 UpdatePageButtons();
565 m_SelectedPanel = SelectedPanel.FILTERS;
566 }
567
569 {
570 SetEnableFilters(false);
571 SetEnableServers(false);
572
573 if (!m_MouseKeyboardControlled)
574 {
575 m_WidgetNavFilters.Show(true);
576 m_WidgetNavServers.Show(false);
577 }
578
579 m_Details.Focus();
580 m_IsDetailsFocused = true;
581 m_IsFilterFocused = false;
582 m_SelectedPanel = SelectedPanel.DETAILS;
583 }
584
586 {
587 SetEnableServers(true);
588 SetEnableFilters(false);
589
590 if (!m_MouseKeyboardControlled)
591 {
592 m_WidgetNavFilters.Show(false);
593 if (m_TabType != TabType.FAVORITE)
594 {
595 m_WidgetNavServers.Show(true);
596 }
597 }
598
600 if (entries && entries.Count() > 0)
601 {
602 string entryKey = entries.Get(0).GetIpPort();
603 ServerBrowserEntry sbEntry = m_EntryWidgets.Get(entryKey);
604 if (sbEntry)
605 {
606 sbEntry.Focus();
607 }
608
609 m_Menu.ShowAButton(true);
610 m_Menu.UpdateAButtonLabel("#str_serverbrowserroot_toolbar_bg_consoletoolbar_connect_connecttext0");
611 m_Menu.ShowThumbRButton(true);
612 }
613 else
614 {
615 SetFocus(null);
616 m_Menu.ShowAButton(false);
617 m_Menu.ShowThumbRButton(false);
618 }
619
620 m_IsFilterFocused = false;
621 m_IsDetailsFocused = false;
622
623 UpdatePageButtons();
624 m_SelectedPanel = SelectedPanel.BROWSER;
625 }
626
627 void SetEnableFilters(bool enable)
628 {
629 Widget w_filters = m_Root.FindAnyWidget("filters_content");
630 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
631 w_content.Enable( !enable );
632
633 if ( enable )
634 {
635 SetFocus( ButtonWidget.Cast(w_filters.FindWidget("sort_button")) );
636 }
637 }
638
639 void SetEnableServers(bool enable)
640 {
641 Widget w_filters = m_Root.FindAnyWidget("filters_content");
642 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
643 w_content.Enable( enable );
644 }
645
647 {
648 TextWidget wgt_page_stat = TextWidget.Cast( m_Root.FindAnyWidget( "servers_navigation_page_status" ) );
649
650 wgt_page_stat.SetText( GetCurrentPage().ToString() +" / "+ m_PagesCount.ToString() );
651
652 if ( (!m_IsFilterFocused && !m_IsDetailsFocused) && (m_PagesCount > 1) && !m_MouseKeyboardControlled )
653 {
654 bool can_left = (GetCurrentPage() > 1);
655 m_ButtonPageLeftImg.Show( can_left );
656 m_BtnPagePrev.Show( can_left );
657
658 bool can_right = (GetCurrentPage() < m_PagesCount);
659 m_ButtonPageRightImg.Show( can_right );
660 m_BtnPageNext.Show( can_right );
661 }
662 else
663 {
664 m_ButtonPageLeftImg.Show( false );
665 m_BtnPagePrev.Show( false );
666 m_ButtonPageRightImg.Show( false );
667 m_BtnPageNext.Show( false );
668 }
669 }
670
671 override bool OnClick(Widget w, int x, int y, int button)
672 {
673 super.OnClick(w, x, y, button);
674
675 if (button == MouseState.LEFT)
676 {
677 if (w == m_ResetFilters)
678 {
679 ResetFilters();
680 }
681 else if (w == m_ApplyFilter)
682 {
683 ApplyFilters();
684 return true;
685 }
686 else if (w == m_RefreshList)
687 {
689 {
690 PressX();
691 }
692 else
693 {
694 RefreshList();
695 }
696
697 return true;
698 }
699 else if (w == m_BtnPagePrev)
700 {
701 Left();
702 return true;
703 }
704 else if (w == m_BtnPageNext)
705 {
706 Right();
707 return true;
708 }
709 else if (w == m_BtnShowDetails)
710 {
712 return true;
713 }
714 else if (w == m_BtnShowFilters)
715 {
717 return true;
718 }
719 }
720 return false;
721 }
722
723 //Coloring functions (Until WidgetStyles are useful)
724 override void ColorHighlight( Widget w )
725 {
726 if ( !w )
727 {
728 return;
729 }
730
731 w.SetColor( ARGB( 255, 200, 0, 0) );
732 }
733
734 override void ColorNormal( Widget w )
735 {
736 if ( !w )
737 {
738 return
739 }
740
741 if ( (w.GetFlags() & WidgetFlags.IGNOREPOINTER) == WidgetFlags.IGNOREPOINTER )
742 {
743 return;
744 }
745
746 if ( w.IsInherited( ButtonWidget ) )
747 {
748 ButtonWidget button = ButtonWidget.Cast( w );
749 button.SetTextColor( ARGB( 255, 255, 255, 255 ) );
750 }
751 else if ( !w.IsInherited( EditBoxWidget ) )
752 {
753 w.SetColor( ARGB( 0, 255, 255, 255 ) );
754 }
755
756 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text" ) );
757 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text_1" ) );
758 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_label" ) );
759 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() + "_image" ) );
760
761 Widget option = Widget.Cast( w.FindAnyWidget( w.GetName() + "_option_wrapper" ) );
762
763 if ( text1 )
764 {
765 text1.SetColor( ARGB( 255, 255, 255, 255 ) );
766 }
767
768 if ( text2 )
769 {
770 text2.SetColor( ARGB( 255, 255, 255, 255 ) );
771 }
772
773 if ( text3 )
774 {
775 text3.SetColor( ARGB( 255, 255, 255, 255 ) );
776 w.SetAlpha(0);
777 }
778
779 if ( image )
780 {
781 image.SetColor( ARGB( 255, 255, 255, 255 ) );
782 }
783
784 if ( option )
785 {
786 option.SetColor( ARGB( 150, 255, 255, 255 ) );
787 }
788 }
789
790 override void ColorDisable( Widget w )
791 {
792 #ifdef PLATFORM_WINDOWS
793 SetFocus( null );
794 #endif
795
796 ButtonWidget button = ButtonWidget.Cast( w );
797 if ( button )
798 {
799 button.SetTextColor( ColorManager.COLOR_DISABLED_TEXT );
800 }
801 }
802
803 override void SwitchToDetails(bool focus = true)
804 {
806
807 if (focus)
808 SetFocusDetails();
809
810 m_Menu.UpdateYButtonLabel("#server_browser_tab_server #STR_server_browser_menu_server_filters");
811 m_RightAreaHeaderText.SetText("#STR_server_browser_menu_server_details");
812 }
813
814 override void SwitchToFilters(bool focus = true)
815 {
816 if (m_TabType == TabType.FAVORITE)
817 return;
818
819 m_FilterRoot.Show(true);
820 m_BtnShowDetails.Show(m_MouseKeyboardControlled);
821 m_DetailsRoot.Show(false);
822
823 if (focus)
825
826 m_Menu.UpdateYButtonLabel("#server_details_header");
827 m_RightAreaHeaderText.SetText("#STR_server_browser_menu_server_filters");
828 }
829}
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
Definition inventory.c:175
EBiosError
Possible Error codes for bios API. This is the list of errors that can be returned from bios API....
ESortType
proto int GetTime()
returns mission time in milliseconds
The error handler itself, for managing and distributing errors to modules Manages the ErrorHandlerMod...
GetServersResult the output structure of the GetServers operation.
GetServersResultRow the output structure of the GetServers operation that represents one game server.
override bool PassFilter(GetServersResultRow result)
override void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
ref array< ref ServerBrowserEntry > m_ServerListEntiers
override void ColorDisable(Widget w)
override bool OnClick(Widget w, int x, int y, int button)
override void SwitchToDetails(bool focus=true)
ServerBrowserEntry GetServerEntryByIndex(int index)
override void SwitchToFilters(bool focus=true)
override void ColorNormal(Widget w)
override bool PassFilter(GetServersResultRow result)
override void OnLoadServersAsyncConsole(GetServersResult result_list, EBiosError error, string response)
void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
override void ColorHighlight(Widget w)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZGame g_Game
Definition dayzgame.c:3868
proto string ToString()
ErrorCategory
ErrorCategory - To decide what ErrorHandlerModule needs to be called and easily identify where it cam...
proto native CGame GetGame()
MouseState
Definition ensystem.c:311
WidgetFlags
Definition enwidgets.c:58
Icon x
Icon y
EInputDeviceType
Definition input.c:3
float GetTime()
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
ref ServerBrowserFilterContainer m_Filters
void OnPressShoulder()
ref map< ESortType, ref array< ref GetServersResultRow > > m_EntriesSorted
TabType m_TabType
void Right()
Widget m_FilterSearchText
Widget m_FiltersChanged
void ApplyFilters()
Widget m_SlotsSort
TextWidget m_RightAreaHeaderText
bool m_LoadingFinished
ServerBrowserEntry m_SelectedServer
ref GetServersInput m_CurrentFilterInput
void SwitchRightAreaView()
ButtonWidget m_BtnPageNext
ButtonWidget m_BtnShowFilters
ref map< string, ref ServerBrowserEntry > m_EntryWidgets
void SwitchToDetails(bool focus=true)
TabType
ScrollWidget m_ServerListScroller
Widget m_PingSort
int m_TotalLoadedServers
Widget m_ApplyFilter
ServerBrowserMenuNew m_Menu
void ResetFilters()
void SwitchToFilters(bool focus=true)
bool m_Loading
SelectedPanel m_SelectedPanel
ESortType m_SortType
TextWidget m_LoadingText
Widget m_PopulationSort
Widget m_MapSort
Widget m_HostSort
ButtonWidget m_BtnPagePrev
SpacerBaseWidget m_ServerList
void ShowServerDetails()
int m_CurrentPageNum
void Left()
int GetCurrentPage()
Widget m_FilterSearchTextBox
ref ServerBrowserDetailsContainer m_Details
Widget m_FilterRoot
Widget m_ResetFilters
Widget m_DetailsRoot
Widget m_RefreshList
Widget m_TimeSort
Widget m_FilterContent
ref set< string > m_OnlineFavServers
void SetCurrentPage(int page_num)
ButtonWidget m_BtnShowDetails
Widget m_Root
Definition sizetochild.c:91