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