DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс ServerBrowserTab

Защищенные члены

override void Construct (Widget parent, ServerBrowserMenuNew menu, TabType type)
 
void ShowHideConsoleWidgets ()
 
override void OnLoadServersAsyncConsole (GetServersResult result_list, EBiosError error, string response)
 
void OnLoadServersAsyncFinished ()
 
void LoadEntries (int cur_page_index, GetServersResultRowArray page)
 
override void OnFilterFocus (Widget w)
 
override void OnFilterChanged ()
 
override void RefreshList ()
 
override void ResetFilters ()
 
override void ApplyFilters ()
 
override void OnFilterFocusLost (Widget w)
 
override void PressA ()
 
override void PressX ()
 
override void PressY ()
 
override void PressSholderLeft ()
 
override void PressSholderRight ()
 
override void OnPressShoulder ()
 
void SetFocusFilters ()
 
void SetFocusDetails ()
 
override void Focus ()
 
void SetFocusServers ()
 
void SetEnableFilters (bool enable)
 
void SetEnableServers (bool enable)
 
override void ColorHighlight (Widget w)
 
override void ColorNormal (Widget w)
 
override void ColorDisable (Widget w)
 
override void Construct (Widget parent, ServerBrowserMenuNew menu, TabType type)
 
void ShowHideConsoleWidgets ()
 
void OnInputDeviceChanged (EInputDeviceType pInputDeviceType)
 
override void OnLoadServersAsyncConsole (GetServersResult result_list, EBiosError error, string response)
 
void OnLoadServersAsyncFinished ()
 
void LoadEntries (int cur_page_index, GetServersResultRowArray page_entries)
 
ServerBrowserEntry GetServerEntryByIndex (int index)
 
override void OnFilterChanged ()
 
bool CanRefreshServerList ()
 
override void RefreshList ()
 
override void ResetFilters ()
 
override void ApplyFilters ()
 
override void PressA ()
 
override void PressX ()
 
override void PressY ()
 
override void PressThumbRight ()
 
override void Left ()
 
override void LeftHold ()
 
override void LeftRelease ()
 
override void Right ()
 
override void RightHold ()
 
override void RightRelease ()
 
override void PressSholderLeft ()
 
override void PressSholderRight ()
 
override void OnPressShoulder ()
 
override void Focus ()
 
override void ShowServerDetails ()
 
void SetFocusFilters ()
 
void SetFocusDetails ()
 
void SetFocusServers ()
 
void SetEnableFilters (bool enable)
 
void SetEnableServers (bool enable)
 
void UpdatePageButtons ()
 
override bool OnClick (Widget w, int x, int y, int button)
 
override void ColorHighlight (Widget w)
 
override void ColorNormal (Widget w)
 
override void ColorDisable (Widget w)
 
override void SwitchToDetails (bool focus=true)
 
override void SwitchToFilters (bool focus=true)
 
override void Construct (Widget parent, ServerBrowserMenuNew menu, TabType type)
 
void ~ServerBrowserTabPc ()
 
override void RefreshList ()
 
override void ResetFilters ()
 
override void ApplyFilters ()
 
void LoadingServersStop ()
 
override void OnLoadServersAsyncPC (ref GetServersResult result_list, EBiosError error, string response)
 
void OnLoadServersAsyncPCFinished ()
 
override bool OnClick (Widget w, int x, int y, int button)
 
override bool OnMouseEnter (Widget w, int x, int y)
 
override bool OnMouseLeave (Widget w, Widget enterW, int x, int y)
 
override bool OnMouseButtonUp (Widget w, int x, int y, int button)
 
override void OnFilterChanged ()
 
void OnClickPagePrev ()
 
void OnClickPageNext ()
 
void OnClickPageEnd ()
 
void OnClickPageFirst ()
 
bool OnClickPage (Widget w)
 
void SetPageIndex (int page_index)
 
void ToggleSort (ESortType type)
 
override void SetSort (ESortType type, ESortOrder order)
 
int GetTimeOfDayEnum (string time_of_day)
 
override int AddSorted (GetServersResultRow entry)
 
int SortedInsert (GetServersResultRow entry, ESortType sort_type)
 
ServerBrowserEntry GetServerEntryByIndex (int index, string server_id)
 
override bool IsFocusable (Widget w)
 
void ButtonRefreshToCancel ()
 
void ButtonCancelToRefresh ()
 
void OnClickDetails ()
 
void OnClickFilters ()
 
override void SwitchToDetails (bool focus=true)
 
override void SwitchToFilters (bool focus=true)
 
override void ShowServerDetails ()
 

Защищенные данные

Widget m_ButtonPageLeftImg
 
Widget m_ButtonPageRightImg
 
int m_PreviousPage
 
int m_TotalServersCount
 
int m_PageStartNum
 
int m_PageEndNum
 
int m_PagesCount
 
int m_ServersEstimateCount
 
int m_TimeLastServerRefresh
 
int m_TimeLastServerRefreshHoldButton
 
Widget m_PnlPagesPanel
 
TextWidget m_PnlPagesLoadingText
 
ref array< ref ServerBrowserEntry > m_ServerListEntiers
 
const int SERVERS_VISIBLE_COUNT = 24
 
const int PAGES_BUTTONS_COUNT = 10
 
int m_PageIndex
 
ButtonWidget m_BtnPagesFirst
 
ButtonWidget m_BtnPagesLast
 
Widget m_FilterSearchIP
 
Widget m_FilterSearchIPBox
 
Widget m_FilterPanelPing
 
Widget m_FilterPanelAccTime
 
ref array< ButtonWidgetm_BtnPages
 
ref array< ref ServerBrowserEntry > m_ServerListEntries
 
ref TStringArray m_TempTime = new TStringArray
 

Закрытые члены

int SortedInsertEx (GetServersResultRow entry, ESortType sortType, bool isDescending)
 
int SortedInsertAsc (GetServersResultRow entry, ESortType sort_type)
 
int SortedInsertDesc (GetServersResultRow entry, ESortType sort_type)
 
void UpdatePageButtons ()
 
override void UpdateServerList ()
 
void UpdateStatusBar ()
 
override void OnLoadServerModsAsync (string server_id, array< string > mods)
 

Закрытые данные

bool m_IsFilterChanged
 
bool m_IsFilterFocused
 
bool m_IsDetailsFocused
 
Widget m_WidgetNavFilters
 
Widget m_WidgetNavServers
 

Подробное описание

Конструктор(ы)

◆ ~ServerBrowserTabPc()

void ~ServerBrowserTabPc ( )
inlineprotected
158 {
159
160 }

Методы

◆ AddSorted()

override int AddSorted ( GetServersResultRow entry)
inlineprotected
654 {
655 int index_host = SortedInsert( entry, ESortType.HOST );
656 int index_time = SortedInsert( entry, ESortType.TIME );
657 int index_popu = SortedInsert( entry, ESortType.POPULATION );
658 int index_slot = SortedInsert( entry, ESortType.SLOTS );
659 int index_ping = SortedInsert( entry, ESortType.PING );
660 int index_favo = SortedInsert( entry, ESortType.FAVORITE );
661 int index_pass = SortedInsert( entry, ESortType.PASSWORDED );
662 int index_map = SortedInsert( entry, ESortType.MAP );
663
664 switch ( m_SortType )
665 {
666 case ESortType.HOST:
667 return index_host;
668 case ESortType.TIME:
669 return index_time;
670 case ESortType.POPULATION:
671 return index_popu;
672 case ESortType.SLOTS:
673 return index_slot;
674 case ESortType.PING:
675 return index_ping;
676 case ESortType.FAVORITE:
677 return index_favo;
678 case ESortType.PASSWORDED:
679 return index_pass;
680 case ESortType.MAP:
681 return index_map;
682 }
683
684 return 0;
685 }
ESortType
Definition BiosLobbyService.c:7
ESortType m_SortType
Definition ServerBrowserTab.c:41
Definition EntityAI.c:95
int SortedInsert(GetServersResultRow entry, ESortType sort_type)
Definition ServerBrowserTabPc.c:687

Перекрестные ссылки m_SortType.

◆ ApplyFilters() [1/3]

override void ApplyFilters ( )
inlineprotected
239 {
240 m_IsFilterChanged = false;
241 m_CurrentFilterInput = m_Filters.GetFilterOptionsConsoles();
242 RefreshList();
243 }
ref ServerBrowserFilterContainer m_Filters
Definition ServerBrowserTab.c:35
ref GetServersInput m_CurrentFilterInput
Definition ServerBrowserTab.c:57
override void RefreshList()
Definition ServerBrowserTabConsole.c:212
bool m_IsFilterChanged
Definition ServerBrowserTabConsole.c:3

Перекрестные ссылки m_CurrentFilterInput, m_Filters и RefreshList().

◆ ApplyFilters() [2/3]

override void ApplyFilters ( )
inlineprotected
330 {
331 if ( m_IsFilterChanged )
332 {
334 }
335
336 m_IsFilterChanged = false;
337 m_CurrentFilterInput = m_Filters.GetFilterOptionsConsoles();
338 RefreshList();
339 }
void SetCurrentPage(int page_num)
Definition ServerBrowserTab.c:411

Перекрестные ссылки m_CurrentFilterInput, m_Filters, ServerBrowserTabConsolePages::RefreshList() и SetCurrentPage().

◆ ApplyFilters() [3/3]

override void ApplyFilters ( )
inlineprotected
203 {
204 m_Filters.SaveFilters();
205 RefreshList();
208 }
void ButtonDisable(Widget w)
Definition ServerBrowserTab.c:625
Widget m_ApplyFilter
Definition ServerBrowserTab.c:59
void ButtonEnable(Widget w)
Definition ServerBrowserTab.c:619
Widget m_RefreshList
Definition ServerBrowserTab.c:60

Перекрестные ссылки ButtonDisable(), ButtonEnable(), m_ApplyFilter, m_Filters, m_RefreshList и ServerBrowserTabPc::RefreshList().

◆ ButtonCancelToRefresh()

void ButtonCancelToRefresh ( )
inlineprotected
1209 {
1211 btn.SetText( "#STR_server_browser_tab_root_filters_root_filters_content_refresh_list_button0" );
1212 }

Перекрестные ссылки m_RefreshList.

◆ ButtonRefreshToCancel()

void ButtonRefreshToCancel ( )
inlineprotected
1203 {
1205 btn.SetText( "#menu_cancel" );
1206 }

Перекрестные ссылки m_RefreshList.

◆ CanRefreshServerList()

bool CanRefreshServerList ( )
inlineprotected
291 {
292 return m_LoadingFinished;
293 }
bool m_LoadingFinished
Definition ServerBrowserTab.c:52

Перекрестные ссылки m_LoadingFinished.

◆ ColorDisable() [1/2]

override void ColorDisable ( Widget w)
inlineprotected
449 {
450 #ifdef PLATFORM_WINDOWS
451 SetFocus( null );
452 #endif
453
455 if ( button )
456 {
458 }
459 }
Definition ColorManager.c:2
static int COLOR_DISABLED_TEXT
Definition ColorManager.c:11
proto native void SetFocus(Widget w)

Перекрестные ссылки ColorManager::COLOR_DISABLED_TEXT и SetFocus().

Используется в ButtonDisable().

◆ ColorDisable() [2/2]

override void ColorDisable ( Widget w)
inlineprotected
763 {
764 #ifdef PLATFORM_WINDOWS
765 SetFocus( null );
766 #endif
767
769 if ( button )
770 {
772 }
773 }

Перекрестные ссылки ColorManager::COLOR_DISABLED_TEXT и SetFocus().

◆ ColorHighlight() [1/2]

override void ColorHighlight ( Widget w)
inlineprotected
387 {
388 if ( !w )
389 {
390 return;
391 }
392
393 w.SetColor( ARGB( 255, 200, 0, 0) );
394 }
int ARGB(int a, int r, int g, int b)
Definition proto.c:322

Перекрестные ссылки ARGB().

Используется в OnFocus() и OnMouseEnter().

◆ ColorHighlight() [2/2]

override void ColorHighlight ( Widget w)
inlineprotected
697 {
698 if ( !w )
699 {
700 return;
701 }
702
703 w.SetColor( ARGB( 255, 200, 0, 0) );
704 }

Перекрестные ссылки ARGB().

◆ ColorNormal() [1/2]

override void ColorNormal ( Widget w)
inlineprotected
397 {
398 if ( !w)
399 {
400 return
401 }
402
403 if ( (w.GetFlags() & WidgetFlags.IGNOREPOINTER) == WidgetFlags.IGNOREPOINTER )
404 {
405 return;
406 }
407
408 if ( w.IsInherited( ButtonWidget ) )
409 {
411 button.SetTextColor( ARGB( 255, 255, 255, 255 ) );
412 }
413
414 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text" ) );
415 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text_1" ) );
416 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_label" ) );
417 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() + "_image" ) );
418
419 Widget option = Widget.Cast( w.FindAnyWidget( w.GetName() + "_option_wrapper" ) );
420
421 if ( text1 )
422 {
423 text1.SetColor( ARGB( 255, 255, 255, 255 ) );
424 }
425
426 if ( text2 )
427 {
428 text2.SetColor( ARGB( 255, 255, 255, 255 ) );
429 }
430
431 if ( text3 )
432 {
433 text3.SetColor( ARGB( 255, 255, 255, 255 ) );
434 w.SetAlpha(0);
435 }
436
437 if ( image )
438 {
439 image.SetColor( ARGB( 255, 255, 255, 255 ) );
440 }
441
442 if ( option )
443 {
444 option.SetColor( ARGB( 150, 255, 255, 255 ) );
445 }
446 }
Definition EnWidgets.c:220
Definition EnWidgets.c:190
WidgetFlags
Definition EnWidgets.c:58

Перекрестные ссылки ARGB().

Используется в ButtonEnable(), OnFocusLost() и OnMouseLeave().

◆ ColorNormal() [2/2]

override void ColorNormal ( Widget w)
inlineprotected
707 {
708 if ( !w )
709 {
710 return
711 }
712
713 if ( (w.GetFlags() & WidgetFlags.IGNOREPOINTER) == WidgetFlags.IGNOREPOINTER )
714 {
715 return;
716 }
717
718 if ( w.IsInherited( ButtonWidget ) )
719 {
721 button.SetTextColor( ARGB( 255, 255, 255, 255 ) );
722 }
723 else if ( !w.IsInherited( EditBoxWidget ) )
724 {
725 w.SetColor( ARGB( 0, 255, 255, 255 ) );
726 }
727
728 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text" ) );
729 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_text_1" ) );
730 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget( w.GetName() + "_label" ) );
731 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() + "_image" ) );
732
733 Widget option = Widget.Cast( w.FindAnyWidget( w.GetName() + "_option_wrapper" ) );
734
735 if ( text1 )
736 {
737 text1.SetColor( ARGB( 255, 255, 255, 255 ) );
738 }
739
740 if ( text2 )
741 {
742 text2.SetColor( ARGB( 255, 255, 255, 255 ) );
743 }
744
745 if ( text3 )
746 {
747 text3.SetColor( ARGB( 255, 255, 255, 255 ) );
748 w.SetAlpha(0);
749 }
750
751 if ( image )
752 {
753 image.SetColor( ARGB( 255, 255, 255, 255 ) );
754 }
755
756 if ( option )
757 {
758 option.SetColor( ARGB( 150, 255, 255, 255 ) );
759 }
760 }
Definition EnWidgets.c:354

Перекрестные ссылки ARGB().

◆ Construct() [1/3]

override void Construct ( Widget parent,
ServerBrowserMenuNew menu,
TabType type )
inlineprotected
11 {
12 m_Root = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/new_ui/server_browser/xbox/server_browser_tab.layout", parent );
13
14 m_ServerListScroller = ScrollWidget.Cast( m_Root.FindAnyWidget( "server_list_scroller" ) );
15 m_ServerList = SpacerBaseWidget.Cast( m_ServerListScroller.FindAnyWidget( "server_list_content" ) );
16 m_ServerListScroller.VScrollToPos01( 0 );
17
20
23
24 m_Menu = menu;
25 m_TabType = type;
26
27 m_ApplyFilter = m_Root.FindAnyWidget( "apply_filter_button" );
28 m_RefreshList = m_Root.FindAnyWidget( "refresh_list_button" );
29 m_FiltersChanged = m_Root.FindAnyWidget( "unapplied_filters_notify" );
30 m_HostSort = m_Root.FindAnyWidget( "server_list_content_header_host" );
31 m_TimeSort = m_Root.FindAnyWidget( "server_list_content_header_time" );
32 m_PopulationSort = m_Root.FindAnyWidget( "server_list_content_header_population" );
33 m_SlotsSort = m_Root.FindAnyWidget( "server_list_content_header_slots" );
34 m_PingSort = m_Root.FindAnyWidget( "server_list_content_header_ping" );
35 m_MapSort = m_Root.FindAnyWidget( "server_list_content_header_map" );
36 m_LoadingText = TextWidget.Cast( m_Root.FindAnyWidget( "loading_servers_info" ) );
37 m_WidgetNavFilters = m_Root.FindAnyWidget( "filters_root_nav_wrapper" );
38 m_WidgetNavServers = m_Root.FindAnyWidget( "server_list_root_nav_wrapper" );
39
41
42 m_Filters = new ServerBrowserFilterContainer(m_Root.FindAnyWidget("filters_content"), this);
43
44 SetSort(ESortType.HOST, ESortOrder.ASCENDING);
45
46 m_Details = new ServerBrowserDetailsContainer(m_Root.FindAnyWidget("details_content"), this);
47
48 m_Root.SetHandler(this);
49
51 }
ESortOrder
Definition BiosLobbyService.c:20
ref map< ESortType, ref array< ref GetServersResultRow > > m_EntriesSorted
Definition ServerBrowserTab.c:75
TabType m_TabType
Definition ServerBrowserTab.c:40
Widget m_FiltersChanged
Definition ServerBrowserTab.c:62
Widget m_SlotsSort
Definition ServerBrowserTab.c:66
ref map< string, ref ServerBrowserEntry > m_EntryWidgets
Definition ServerBrowserTab.c:32
ScrollWidget m_ServerListScroller
Definition ServerBrowserTab.c:27
Widget m_PingSort
Definition ServerBrowserTab.c:67
ServerBrowserMenuNew m_Menu
Definition ServerBrowserTab.c:37
TextWidget m_LoadingText
Definition ServerBrowserTab.c:71
Widget m_PopulationSort
Definition ServerBrowserTab.c:65
Widget m_MapSort
Definition ServerBrowserTab.c:68
Widget m_HostSort
Definition ServerBrowserTab.c:63
SpacerBaseWidget m_ServerList
Definition ServerBrowserTab.c:28
ref ServerBrowserDetailsContainer m_Details
Definition ServerBrowserTab.c:87
Widget m_TimeSort
Definition ServerBrowserTab.c:64
Widget m_Root
Definition SizeToChild.c:91
void ShowHideConsoleWidgets()
Definition ServerBrowserTabConsole.c:53
override void SetSort(ESortType type, ESortOrder order)
Definition ServerBrowserTabPc.c:541
Widget m_WidgetNavServers
Definition ServerBrowserTabConsole.c:8
void SetFocusServers()
Definition ServerBrowserTabConsole.c:349
Widget m_WidgetNavFilters
Definition ServerBrowserTabConsole.c:7
proto native CGame GetGame()

Перекрестные ссылки GetGame(), m_ApplyFilter, m_Details, m_EntriesSorted, m_EntryWidgets, m_Filters, m_FiltersChanged, m_HostSort, m_LoadingText, m_MapSort, m_Menu, m_PingSort, m_PopulationSort, m_RefreshList, m_Root, m_ServerList, m_ServerListScroller, m_SlotsSort, m_TabType, m_TimeSort и SetSort().

Используется в ServerBrowserTab().

◆ Construct() [2/3]

override void Construct ( Widget parent,
ServerBrowserMenuNew menu,
TabType type )
inlineprotected
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
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
87
88 m_Filters = new ServerBrowserFilterContainer(m_Root.FindAnyWidget("filters_content"), this);
89
90 m_PnlPagesPanel = m_Root.FindAnyWidget( "servers_navigation_spacer" );
93 m_PnlPagesPanel.Show(true);
94 m_LoadingFinished = true;
95
96 m_Filters.OnSortChanged(m_Filters.m_SortingFilter.GetValue());
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 }
Widget m_FilterSearchText
Definition ServerBrowserTab.c:69
TextWidget m_RightAreaHeaderText
Definition ServerBrowserTab.c:79
ButtonWidget m_BtnPageNext
Definition ServerBrowserTab.c:73
ButtonWidget m_BtnShowFilters
Definition ServerBrowserTab.c:85
ButtonWidget m_BtnPagePrev
Definition ServerBrowserTab.c:72
Widget m_FilterSearchTextBox
Definition ServerBrowserTab.c:70
Widget m_FilterRoot
Definition ServerBrowserTab.c:80
Widget m_ResetFilters
Definition ServerBrowserTab.c:61
Widget m_DetailsRoot
Definition ServerBrowserTab.c:84
Widget m_FilterContent
Definition ServerBrowserTab.c:81
ButtonWidget m_BtnShowDetails
Definition ServerBrowserTab.c:82
Widget m_ButtonPageRightImg
Definition ServerBrowserTabConsolePages.c:11
void UpdatePageButtons()
Definition ServerBrowserTabConsolePages.c:618
Widget m_ButtonPageLeftImg
Definition ServerBrowserTabConsolePages.c:10
int m_PreviousPage
Definition ServerBrowserTabConsolePages.c:13
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
Definition ServerBrowserTabConsolePages.c:128
ref array< ref ServerBrowserEntry > m_ServerListEntiers
Definition ServerBrowserTabConsolePages.c:24
Widget m_PnlPagesPanel
Definition ServerBrowserTabConsolePages.c:22

Перекрестные ссылки GetGame(), m_ApplyFilter, m_BtnPageNext, m_BtnPagePrev, m_BtnShowDetails, m_BtnShowFilters, m_Details, m_DetailsRoot, m_EntriesSorted, m_EntryWidgets, m_FilterContent, m_FilterRoot, m_Filters, m_FiltersChanged, m_FilterSearchText, m_FilterSearchTextBox, m_HostSort, m_LoadingFinished, m_LoadingText, m_MapSort, m_Menu, m_PingSort, m_PopulationSort, m_RefreshList, m_ResetFilters, m_RightAreaHeaderText, m_Root, m_ServerList, m_ServerListScroller, m_SlotsSort, m_TabType, m_TimeSort, OnInputDeviceChanged() и SetCurrentPage().

◆ Construct() [3/3]

override void Construct ( Widget parent,
ServerBrowserMenuNew menu,
TabType type )
inlineprotected
29 {
30 #ifdef PLATFORM_CONSOLE
31 m_Root = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/server_browser/xbox/server_browser_tab.layout", parent);
32 #else
33 #ifdef PLATFORM_WINDOWS
34 m_Root = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/server_browser/pc/server_browser_tab_pages.layout", parent);
35 #endif
36 #endif
37
38 m_ServerListScroller = ScrollWidget.Cast(m_Root.FindAnyWidget("server_list_scroller"));
39 m_ServerList = SpacerBaseWidget.Cast(m_ServerListScroller.FindAnyWidget("server_list_content"));
40 m_ServerListScroller.VScrollToPos01(0);
41
47
56
57 m_Menu = menu;
58 m_TabType = type;
59
60 m_RightAreaHeaderText = TextWidget.Cast(m_Root.FindAnyWidget("right_area_header_text"));
61 m_BtnShowFilters = ButtonWidget.Cast(m_Root.FindAnyWidget("show_filters_button"));
62
63 m_DetailsRoot = m_Root.FindAnyWidget("details_root");
64 m_BtnShowDetails = ButtonWidget.Cast(m_Root.FindAnyWidget("show_details_button"));
65
66 m_FilterRoot = m_Root.FindAnyWidget("filters_root");
67 m_FilterContent = m_Root.FindAnyWidget("filters_content");
68 m_ApplyFilter = m_Root.FindAnyWidget("apply_filter_button");
69 m_RefreshList = m_Root.FindAnyWidget("refresh_list_button");
70 m_FiltersChanged = m_Root.FindAnyWidget("unapplied_filters_notify");
71 m_HostSort = m_Root.FindAnyWidget("server_list_content_header_host");
72 m_TimeSort = m_Root.FindAnyWidget("server_list_content_header_time");
73 m_PopulationSort = m_Root.FindAnyWidget("server_list_content_header_population");
74 m_SlotsSort = m_Root.FindAnyWidget("server_list_content_header_slots");
75 m_PingSort = m_Root.FindAnyWidget("server_list_content_header_ping");
76 m_MapSort = m_Root.FindAnyWidget("server_list_content_header_map");
77
78 m_FilterSearchText = m_Root.FindAnyWidget("search_name_setting");
79 m_FilterSearchTextBox = m_Root.FindAnyWidget("search_name_setting_option");
80 m_FilterSearchIP = m_Root.FindAnyWidget("search_ip_setting");
81 m_FilterSearchIPBox = m_Root.FindAnyWidget("search_ip_setting_option");
82
83 m_FilterPanelAccTime = m_Root.FindAnyWidget("accelerated_time_setting");
84 m_FilterPanelPing = m_Root.FindAnyWidget("ping_setting");
85 //m_FilterPanelPing.SetHandler(this);
86
87 m_LoadingText = TextWidget.Cast(m_Root.FindAnyWidget("loading_servers_info"));
88
90
91 m_Filters = new ServerBrowserFilterContainer(m_Root.FindAnyWidget("filters_content"), this);
92
93 m_Root.SetHandler(this);
94
95 SetSort(ESortType.HOST, ESortOrder.ASCENDING);
96
98
99 int page_button_num = 1;
100 ButtonWidget page_button = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_page" + page_button_num));
101
103 {
104 Error("ServerBrowserTabPage->PAGES_BUTTONS_COUNT must be in range 3 - 10!");
105 return;
106 }
107
108 while (page_button)
109 {
110 page_button.Show(false);
111
113 {
114 m_BtnPages.Insert(page_button);
115 }
116
118 page_button = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_page"+ page_button_num));
119 }
120
121 m_ResetFilters = ButtonWidget.Cast(m_Root.FindAnyWidget( "reset_filter_button"));
122
123 m_PnlPagesPanel = m_Root.FindAnyWidget("servers_navigation_spacer");
124 m_BtnPagePrev = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_prev"));
125 m_BtnPageNext = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_next"));
126 m_BtnPagesFirst = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_page_first"));
127 m_BtnPagesLast = ButtonWidget.Cast(m_Root.FindAnyWidget("servers_navigation_page_last"));
128 m_PageIndex = 0;
129 m_PnlPagesPanel.Show(true);
130
132
133 m_Details = new ServerBrowserDetailsContainer(m_Root.FindAnyWidget("details_content"), this);
134
135 if (m_TabType == TabType.FAVORITE || m_TabType == TabType.LAN)
136 {
137 m_Root.FindAnyWidget("filters_content").Show(false);
138 m_Root.FindAnyWidget("reset_filter_button").Show(false);
139 m_ApplyFilter.Show(false);
140 m_Root.FindAnyWidget("spacer").Show(false);
141 m_Root.FindAnyWidget("spacer1").Show(false);
142 m_Root.FindAnyWidget("spacer5").Show(false);
143 m_BtnShowFilters.Show(false);
144 m_FilterRoot.Show(true);
145 }
146
147 if (m_TabType != TabType.FAVORITE && m_TabType != TabType.LAN)
148 {
150 }
151 else
152 {
154 }
155 }
ref map< ESortType, ESortOrder > m_SortInverted
Definition ServerBrowserTab.c:76
TabType
Definition ServerBrowserTab.c:2
ref map< string, ref array< string > > m_EntryMods
Definition ServerBrowserTab.c:33
int m_PageIndex
Definition ServerBrowserTabPc.c:7
const int PAGES_BUTTONS_COUNT
Definition ServerBrowserTabPc.c:4
override void SwitchToFilters(bool focus=true)
Definition ServerBrowserTabConsolePages.c:786
ref array< ref ServerBrowserEntry > m_ServerListEntries
Definition ServerBrowserTabPc.c:24
Widget m_FilterPanelAccTime
Definition ServerBrowserTabPc.c:21
Widget m_FilterPanelPing
Definition ServerBrowserTabPc.c:20
Widget m_FilterSearchIP
Definition ServerBrowserTabPc.c:18
ref array< ButtonWidget > m_BtnPages
Definition ServerBrowserTabPc.c:23
Widget m_FilterSearchIPBox
Definition ServerBrowserTabPc.c:19
override void SwitchToDetails(bool focus=true)
Definition ServerBrowserTabConsolePages.c:775
ButtonWidget m_BtnPagesFirst
Definition ServerBrowserTabPc.c:15
ButtonWidget m_BtnPagesLast
Definition ServerBrowserTabPc.c:16
void Error(string err)
Messagebox with error message.
Definition EnDebug.c:90

Перекрестные ссылки ButtonDisable(), Error(), GetGame(), m_ApplyFilter, m_BtnPageNext, m_BtnPagePrev, m_BtnShowDetails, m_BtnShowFilters, m_Details, m_DetailsRoot, m_EntriesSorted, m_EntryMods, m_EntryWidgets, m_FilterContent, m_FilterRoot, m_Filters, m_FiltersChanged, m_FilterSearchText, m_FilterSearchTextBox, m_HostSort, m_LoadingText, m_MapSort, m_Menu, m_PageIndex, m_PingSort, m_PopulationSort, m_RefreshList, m_ResetFilters, m_RightAreaHeaderText, m_Root, m_ServerList, m_ServerListScroller, m_SlotsSort, m_SortInverted, m_TabType, m_TimeSort, SetSort(), SwitchToDetails() и SwitchToFilters().

◆ Focus() [1/2]

override void Focus ( )
inlineprotected
340 {
341 if ( m_EntryWidgets.Contains( m_CurrentSelectedServer ) )
342 {
345 }
347 }
void ScrollToEntry(ServerBrowserEntry entry)
Definition ServerBrowserTab.c:145
string m_CurrentSelectedServer
Definition ServerBrowserTab.c:55

Перекрестные ссылки m_CurrentSelectedServer, m_EntryWidgets и ScrollToEntry().

◆ Focus() [2/2]

override void Focus ( )
inlineprotected
497 {
498 if (m_TabType == TabType.FAVORITE)
499 {
501 }
502 else
503 {
504 SwitchToFilters(true);
505 }
506 }

Перекрестные ссылки m_TabType и SwitchToFilters().

◆ GetServerEntryByIndex() [1/2]

ServerBrowserEntry GetServerEntryByIndex ( int index)
inlineprotected
260 {
261 ServerBrowserEntry entry;
262
263 if ( index >= 0 )
264 {
265 if ( index < m_ServerListEntiers.Count() )
266 {
267 entry = m_ServerListEntiers[index];
268 }
269 else
270 {
271 entry = new ServerBrowserEntry( m_ServerList, index, this );
272 m_ServerListEntiers.Insert(entry);
273 }
274 }
275 else
276 {
277 return null;
278 }
279
280 entry.Show( true );
281
282 return entry;
283 }

Перекрестные ссылки m_ServerList.

◆ GetServerEntryByIndex() [2/2]

ServerBrowserEntry GetServerEntryByIndex ( int index,
string server_id )
inlineprotected
1145 {
1146 ref ServerBrowserEntry entry;
1147
1148 if ( index >= 0 )
1149 {
1150 if ( index < m_ServerListEntries.Count() )
1151 {
1152 entry = m_ServerListEntries[index];
1153 }
1154 else
1155 {
1156 entry = new ServerBrowserEntry( null, index, this );
1157 m_ServerList.AddChild( entry.GetRoot(), false );
1158
1159 m_ServerListEntries.Insert(entry);
1160 }
1161 }
1162 else
1163 {
1164 return null;
1165 }
1166
1167 // Refresh list
1168 m_EntryWidgets.Insert( server_id, entry );
1169
1170 return entry;
1171 }

Перекрестные ссылки m_EntryWidgets и m_ServerList.

◆ GetTimeOfDayEnum()

int GetTimeOfDayEnum ( string time_of_day)
inlineprotected
620 {
621 m_TempTime.Clear();
622
623 time_of_day.Split( ":", m_TempTime );
624
625 int minutes = 0;
626
627 if ( m_TempTime.Count() > 0 )
628 {
629 int h = m_TempTime[0].ToInt();
630
631 if ( h >= 5 )
632 {
633 h -= 5;
634 }
635 else
636 {
637 h += 24;
638 }
639
640 minutes = h * 60;
641 }
642
643 if ( m_TempTime.Count() > 1 )
644 {
645 int m = m_TempTime[0].ToInt();
646 minutes += m;
647 }
648
649 return minutes;
650 }
ref TStringArray m_TempTime
Definition ServerBrowserTabPc.c:26

◆ IsFocusable()

override bool IsFocusable ( Widget w)
inlineprotected
1174 {
1175 if ( w )
1176 {
1177 if ( super.IsFocusable( w ) )
1178 {
1179 return true;
1180 }
1181
1182 if ( w == m_ServerListScroller )
1183 {
1184 return false;
1185 }
1186
1187 if ( w == m_HostSort || w == m_TimeSort || w == m_PopulationSort || w == m_SlotsSort || w == m_PingSort || w == m_FilterSearchIP || w == m_MapSort )
1188 {
1189 return true;
1190 }
1191
1193 {
1194 return true;
1195 }
1196
1197 return false;
1198 }
1199 return false;
1200 }

Перекрестные ссылки m_HostSort, m_MapSort, m_PingSort, m_PopulationSort, m_ServerListScroller, m_SlotsSort и m_TimeSort.

Используется в OnFocus(), OnFocusLost(), OnMouseEnter() и OnMouseLeave().

◆ Left()

override void Left ( )
inlineprotected
391 {
393 {
396 if ( curr_page > 1 )
397 {
400 }
401 }
402 }
int GetCurrentPage()
Definition ServerBrowserTab.c:416
bool m_IsDetailsFocused
Definition ServerBrowserTabConsole.c:5
bool m_IsFilterFocused
Definition ServerBrowserTabConsole.c:4

Перекрестные ссылки GetCurrentPage() и SetCurrentPage().

◆ LeftHold()

override void LeftHold ( )
inlineprotected
405 {
407 {
409 {
411 Left();
412 }
413 }
414 }
float GetTime()
Definition NotificationSystem.c:35
override void Left()
Definition ServerBrowserTabConsolePages.c:390
int m_TimeLastServerRefreshHoldButton
Definition ServerBrowserTabConsolePages.c:20

Перекрестные ссылки GetGame(), GetTime() и Left().

◆ LeftRelease()

override void LeftRelease ( )
inlineprotected
417 {
419 {
420 RefreshList();
421 }
422 }

Перекрестные ссылки GetCurrentPage() и ServerBrowserTabConsolePages::RefreshList().

◆ LoadEntries() [1/2]

void LoadEntries ( int cur_page_index,
GetServersResultRowArray page )
inlineprotected
128 {
129 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
130 {
131 return;
132 }
133
136 if ( page_entries )
137 {
139 {
141
142 if ( PassFilter( result ) )
143 {
144 ServerBrowserEntry entry = new ServerBrowserEntry( m_ServerList, index, this );
145 string ipPort = result.GetIpPort();
146 entry.FillInfo( result );
147 entry.SetFavorite( m_Menu.IsFavorited(ipPort));
148 entry.UpdateEntry();
149
150 m_EntryWidgets.Insert(ipPort, entry);
151 index++;
153
154 if ( m_EntryWidgets.Count() > 0 )
155 {
157 }
158 }
159
160 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
161 return;
162 }
163
164 m_ServerList.Update();
165 }
166 /*
167 if ( cur_page_index == 1 && m_EntryWidgets.Count() > 0 )
168 {
169 SetFocusServers();
170 }
171 else
172 {
173 m_LoadingText.SetText( "#server_browser_unable_with_filter" );
174 SetFocusFilters();
175 }
176 */
177
178 if ( m_EntriesSorted[m_SortType].Count() > 0 )
179 {
180 /*
181
182 */
183 }
184 else
185 {
186 //m_LoadingText.SetText( "#server_browser_unable_with_filter" );
187
188 }
189
190 if ( !m_Menu )
191 return;
192
194 {
195 //m_LoadingText.SetText( "#server_browser_tab_loaded" + " " + m_EntryWidgets.Count() + "/" + m_EntryWidgets.Count() + " " + "#server_browser_servers_desc" );
196 m_Menu.SetServersLoadingTab( TabType.NONE );
197 }
198 }
@ Count
Definition RandomGeneratorSyncManager.c:8
const int SERVER_BROWSER_PAGE_SIZE
Definition ServerBrowserMenuNew.c:6
int m_TotalPages
Definition ServerBrowserTab.c:51
bool PassFilter(GetServersResultRow result)
Definition ServerBrowserTab.c:539
int m_TotalLoadedServers
Definition ServerBrowserTab.c:49
int m_LastLoadedPage
Definition ServerBrowserTab.c:50
GetServersResultRow the output structure of the GetServers operation that represents one game server.
Definition BiosLobbyService.c:144
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition IsBoxCollidingGeometryProxyClasses.c:28

Перекрестные ссылки Count, m_EntriesSorted, m_EntryWidgets, m_LastLoadedPage, m_Menu, m_ServerList, m_SortType, m_TabType, m_TotalLoadedServers, m_TotalPages, PassFilter() и SERVER_BROWSER_PAGE_SIZE.

◆ LoadEntries() [2/2]

void LoadEntries ( int cur_page_index,
GetServersResultRowArray page_entries )
inlineprotected
206 {
207 int index = 0;
208 ServerBrowserEntry entry;
210
211 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
212 {
213 return;
214 }
215
216 // only load servers if they correspond to current page
218 {
219 return;
220 }
221
222 if ( m_PagesCount && page_entries )
223 {
225 {
226 if ( PassFilter( result ) )
227 {
228 string ipPort = result.GetIpPort();
229 bool isFavorited = m_Menu.IsFavorited(ipPort);
230
231 entry = GetServerEntryByIndex( index );
232 entry.SetIsOnline(true);
233 entry.FillInfo( result );
234 entry.SetFavorite(isFavorited);
235 entry.UpdateEntry();
236
237 if (isFavorited && m_OnlineFavServers.Find(ipPort) == -1)
238 {
240 }
241
242 m_EntryWidgets.Insert(ipPort, entry);
244
245 index++;
246 }
247
248 if ( !m_Menu || m_Menu.GetServersLoadingTab() != m_TabType )
249 {
250 return;
251 }
252 }
253 }
254
256 m_ServerList.Update();
257 }
void LoadExtraEntries(int index)
int m_CurrentPageNum
Definition ServerBrowserTab.c:53
ref set< string > m_OnlineFavServers
Definition ServerBrowserTab.c:77
int m_TotalServersCount
Definition ServerBrowserTabConsolePages.c:14
ServerBrowserEntry GetServerEntryByIndex(int index)
Definition ServerBrowserTabConsolePages.c:259
int m_PagesCount
Definition ServerBrowserTabConsolePages.c:17

Перекрестные ссылки ServerBrowserTabConsolePages::LoadExtraEntries(), m_CurrentPageNum, m_EntriesSorted, m_EntryWidgets, m_Menu, m_OnlineFavServers, m_ServerList, m_SortType, m_TabType, m_TotalLoadedServers и ServerBrowserTabConsolePages::PassFilter().

◆ LoadingServersStop()

void LoadingServersStop ( )
inlineprotected
211 {
212 OnlineServices.m_ServersAsyncInvoker.Remove( m_Menu.OnLoadServersAsync );
213
214 m_LoadingFinished = true;
215 m_Loading = false;
216
218
221
223
224 if (m_TotalLoadedServers == 0)
225 {
226 if (GetTabType() != TabType.FAVORITE && GetTabType() != TabType.LAN)
228 }
229 }
TabType GetTabType()
Definition ServerBrowserTab.c:614
bool m_Loading
Definition ServerBrowserTab.c:47
Definition OnlineServices.c:2
static ref ScriptInvoker m_ServersAsyncInvoker
Definition OnlineServices.c:5
override void UpdateServerList()
Definition ServerBrowserTabPc.c:1073
void UpdateStatusBar()
Definition ServerBrowserTabPc.c:1121
void ButtonCancelToRefresh()
Definition ServerBrowserTabPc.c:1208

Перекрестные ссылки ButtonEnable(), GetTabType(), m_Loading, m_LoadingFinished, m_Menu, m_RefreshList, OnlineServices::m_ServersAsyncInvoker, m_TotalLoadedServers, SwitchToFilters() и UpdateServerList().

◆ OnClick() [1/2]

override bool OnClick ( Widget w,
int x,
int y,
int button )
inlineprotected
644 {
645 super.OnClick(w, x, y, button);
646
647 if (button == MouseState.LEFT)
648 {
649 if (w == m_ResetFilters)
650 {
651 ResetFilters();
652 }
653 else if (w == m_ApplyFilter)
654 {
655 ApplyFilters();
656 return true;
657 }
658 else if (w == m_RefreshList)
659 {
661 {
662 PressX();
663 }
664 else
665 {
666 RefreshList();
667 }
668
669 return true;
670 }
671 else if (w == m_BtnPagePrev)
672 {
673 Left();
674 return true;
675 }
676 else if (w == m_BtnPageNext)
677 {
678 Right();
679 return true;
680 }
681 else if (w == m_BtnShowDetails)
682 {
684 return true;
685 }
686 else if (w == m_BtnShowFilters)
687 {
689 return true;
690 }
691 }
692 return false;
693 }
Icon x
Icon y
override void PressX()
Definition ServerBrowserTabConsole.c:255
override void ApplyFilters()
Definition ServerBrowserTabConsole.c:238
override void ResetFilters()
Definition ServerBrowserTabConsole.c:231
override void Right()
Definition ServerBrowserTabConsolePages.c:424
MouseState
Definition EnSystem.c:311

Перекрестные ссылки ApplyFilters(), Left(), m_ApplyFilter, m_BtnPageNext, m_BtnPagePrev, m_BtnShowDetails, m_BtnShowFilters, m_Loading, m_LoadingFinished, m_RefreshList, m_ResetFilters, ServerBrowserTabConsolePages::PressX(), ServerBrowserTabConsolePages::RefreshList(), ResetFilters(), Right(), SwitchToDetails(), SwitchToFilters(), x и y.

◆ OnClick() [2/2]

override bool OnClick ( Widget w,
int x,
int y,
int button )
inlineprotected
291 {
292 super.OnClick(w, x, y, button);
293
294 if (button == MouseState.LEFT)
295 {
296 if (w == m_ResetFilters)
297 {
298 ResetFilters();
299 }
300 else if (w == m_ApplyFilter)
301 {
302 ApplyFilters();
303 return true;
304 }
305 else if (w == m_RefreshList)
306 {
308 {
310 }
311 else
312 {
313 RefreshList();
314 }
315
316 return true;
317 }
318 else if (w == m_BtnPagePrev)
319 {
321 return true;
322 }
323 else if (w == m_BtnPageNext)
324 {
326 return true;
327 }
328 else if (w == m_BtnPagesLast)
329 {
331 return true;
332 }
333 else if (w == m_BtnPagesFirst)
334 {
336 return true;
337 }
338 else if (w == m_BtnShowDetails)
339 {
341 return true;
342 }
343 else if (w == m_BtnShowFilters)
344 {
346 return true;
347 }
348 else
349 {
350 bool click = OnClickPage(w);
351 if (click)
352 {
353 return true;
354 }
355
356 return false;
357 }
358 }
359 return false;
360 }
void OnClickDetails()
Definition ServerBrowserTabPc.c:1214
void OnClickPageFirst()
Definition ServerBrowserTabPc.c:483
void LoadingServersStop()
Definition ServerBrowserTabPc.c:210
bool OnClickPage(Widget w)
Definition ServerBrowserTabPc.c:488
void OnClickPagePrev()
Definition ServerBrowserTabPc.c:454
void OnClickFilters()
Definition ServerBrowserTabPc.c:1219
void OnClickPageNext()
Definition ServerBrowserTabPc.c:466
void OnClickPageEnd()
Definition ServerBrowserTabPc.c:478

Перекрестные ссылки ApplyFilters(), m_ApplyFilter, m_BtnPageNext, m_BtnPagePrev, m_BtnShowDetails, m_BtnShowFilters, m_Loading, m_LoadingFinished, m_RefreshList, m_ResetFilters, ServerBrowserTabPc::RefreshList(), ResetFilters(), x и y.

◆ OnClickDetails()

void OnClickDetails ( )
inlineprotected
1215 {
1217 }
override void ShowServerDetails()
Definition ServerBrowserTabConsolePages.c:508

Перекрестные ссылки ShowServerDetails().

◆ OnClickFilters()

void OnClickFilters ( )
inlineprotected
1220 {
1222 }

Перекрестные ссылки SwitchToFilters().

◆ OnClickPage()

bool OnClickPage ( Widget w)
inlineprotected
489 {
490 for ( int i = 0; i < m_BtnPages.Count(); ++i )
491 {
492 if ( m_BtnPages[i] == w )
493 {
495 return true;
496 }
497 }
498
499 return false;
500 }
void SetPageIndex(int page_index)
Definition ServerBrowserTabPc.c:502
int m_PageStartNum
Definition ServerBrowserTabConsolePages.c:15

◆ OnClickPageEnd()

void OnClickPageEnd ( )
inlineprotected
479 {
481 }

◆ OnClickPageFirst()

void OnClickPageFirst ( )
inlineprotected
484 {
485 SetPageIndex( 0 );
486 }

◆ OnClickPageNext()

void OnClickPageNext ( )
inlineprotected
467 {
468 if ( m_PageIndex < (m_PagesCount - 1) )
469 {
471 }
472 else
473 {
474 SetPageIndex( 0 );
475 }
476 }

Перекрестные ссылки m_PageIndex.

◆ OnClickPagePrev()

void OnClickPagePrev ( )
inlineprotected
455 {
456 if ( m_PageIndex > 0 )
457 {
459 }
460 else
461 {
463 }
464 }

Перекрестные ссылки m_PageIndex.

◆ OnFilterChanged() [1/3]

override void OnFilterChanged ( )
inlineprotected

◆ OnFilterChanged() [2/3]

override void OnFilterChanged ( )
inlineprotected
286 {
287 m_IsFilterChanged = true;
288 }

◆ OnFilterChanged() [3/3]

override void OnFilterChanged ( )
inlineprotected
443 {
444 //m_FiltersChanged.Show(true);
445
447
448 if (m_Loading)
449 {
451 }
452 }

Перекрестные ссылки ButtonDisable(), ButtonEnable(), m_ApplyFilter, m_Loading и m_RefreshList.

◆ OnFilterFocus()

override void OnFilterFocus ( Widget w)
inlineprotected
201 {
202 super.OnFilterFocus( w );
203
204 //ColorHighlight( w );
205 }

Используется в ScriptedWidgetEventHandler::OnFocus().

◆ OnFilterFocusLost()

override void OnFilterFocusLost ( Widget w)
inlineprotected
246 {
247 super.OnFilterFocusLost( w );
248 }

◆ OnInputDeviceChanged()

void OnInputDeviceChanged ( EInputDeviceType pInputDeviceType)
inlineprotected
129 {
130 switch (pInputDeviceType)
131 {
132 case EInputDeviceType.CONTROLLER:
136 if (m_TabType != TabType.FAVORITE)
137 {
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);
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());
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);
167 }
168 break;
169 }
170 }
EInputDeviceType
Definition input.c:3

Перекрестные ссылки GetGame(), m_BtnShowDetails, m_BtnShowFilters, m_DetailsRoot, m_Menu, m_RefreshList, m_Root и m_TabType.

◆ OnLoadServerModsAsync()

override void OnLoadServerModsAsync ( string server_id,
array< string > mods )
inlineprivate
1135 {
1136 super.OnLoadServerModsAsync( server_id, mods );
1137
1138 if ( m_EntryWidgets.Contains( server_id ) )
1139 {
1140 m_EntryWidgets.Get( server_id ).SetMods( mods );
1141 }
1142 }

Перекрестные ссылки m_EntryWidgets.

◆ OnLoadServersAsyncConsole() [1/2]

override void OnLoadServersAsyncConsole ( GetServersResult result_list,
EBiosError error,
string response )
inlineprotected
73 {
74 //Print("m_NumServers: "+ result_list.m_NumServers +" m_Pages: "+ result_list.m_Pages + " m_Page: "+ result_list.m_Page);
75 //string smg = "m_NumServers: "+ result_list.m_NumServers +" m_Pages: "+ result_list.m_Pages + " m_Page: "+ result_list.m_Page +" response: "+ response +" error: "+ error;
76 //m_LoadingText.SetText( smg );
77
78 if ( error != EBiosError.OK || !result_list )
79 {
80 m_LoadingText.SetText( string.Format("Error: %1", ErrorModuleHandler.GetClientMessage(ErrorCategory.BIOSError, error)) );
81 return;
82 }
83
84 if ( result_list.m_Page == 1 )
85 {
86 m_TotalPages = result_list.m_Pages;
87 m_TotalServers = result_list.m_NumServers;
88
89 if ( m_Menu.GetServersLoadingTab() != m_TabType || !result_list || ( !result_list.m_Results || result_list.m_Results.Count() == 0 ) )
90 {
91 m_Menu.SetServersLoadingTab( TabType.NONE );
92 m_LoadingText.SetText("#server_browser_tab_unable_to_get_server #server_browser_tab_no_servers_with_filter");
93 return;
94 }
95 }
96
98
99 if ( m_TotalPages > 0 )
100 {
101 LoadEntries( result_list.m_Page, result_list.m_Results );
102 }
103
105 {
106 GetNextPage();
107 return;
108 }
109
110 if ( result_list.m_Page == result_list.m_Pages )
111 {
113 }
114 }
EBiosError
Possible Error codes for bios API. This is the list of errors that can be returned from bios API....
Definition BIOSErrorModule.c:7
ErrorCategory
ErrorCategory - To decide what ErrorHandlerModule needs to be called and easily identify where it cam...
Definition ErrorModuleHandler.c:5
void GetNextPage()
Definition ServerBrowserTab.c:493
int m_TotalServers
Definition ServerBrowserTab.c:48
The error handler itself, for managing and distributing errors to modules Manages the ErrorHandlerMod...
Definition ErrorModuleHandler.c:29
static proto string GetClientMessage(ErrorCategory category, int code, string additionalInfo="")
Gets the Client Message for specified error.
void OnLoadServersAsyncFinished()
Definition ServerBrowserTabConsole.c:116
void LoadEntries(int cur_page_index, GetServersResultRowArray page)
Definition ServerBrowserTabConsole.c:127

Перекрестные ссылки ErrorModuleHandler::GetClientMessage(), GetNextPage(), m_LastLoadedPage, m_LoadingText, m_Menu, m_TabType, m_TotalPages и m_TotalServers.

◆ OnLoadServersAsyncConsole() [2/2]

override void OnLoadServersAsyncConsole ( GetServersResult result_list,
EBiosError error,
string response )
inlineprotected
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 );
189 }
void SetFocusFilters()
Definition ServerBrowserTabConsole.c:316

Перекрестные ссылки ErrorModuleHandler::GetClientMessage(), ServerBrowserTabConsolePages::LoadEntries(), m_LoadingFinished, m_LoadingText, m_Menu, ServerBrowserTabConsolePages::OnLoadServersAsyncFinished() и ServerBrowserTabConsolePages::SetFocusFilters().

◆ OnLoadServersAsyncFinished() [1/2]

void OnLoadServersAsyncFinished ( )
inlineprotected
117 {
118 string msg = "#servers_found: "+ m_TotalLoadedServers;
119 if ( m_TotalLoadedServers == 0 )
120 {
121 msg = "#server_browser_tab_unable_to_get_server";
122 }
123 m_LoadingText.SetText( msg );
124 m_LoadingFinished = true;
125 }

Перекрестные ссылки m_LoadingFinished, m_LoadingText и m_TotalLoadedServers.

◆ OnLoadServersAsyncFinished() [2/2]

void OnLoadServersAsyncFinished ( )
inlineprotected
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
202 m_Menu.SetServersLoadingTab(TabType.NONE);
203 }

Перекрестные ссылки m_LoadingFinished, m_LoadingText, m_Menu и m_TotalLoadedServers.

◆ OnLoadServersAsyncPC()

override void OnLoadServersAsyncPC ( ref GetServersResult result_list,
EBiosError error,
string response )
inlineprotected
232 {
233 if (result_list)
234 {
235 int count = result_list.m_Results.Count();
236 if (count > 0)
237 {
238 for (int i = 0; i < count; i++)
239 {
242
243 result.m_SortName = result.m_Name.ToInt();
244 result.m_SortTime = GetTimeOfDayEnum(result.m_TimeOfDay);
245
246 if (PassFilter(result))
247 {
250 {
253 }
254 }
255
256 if (!m_Menu || m_Menu.GetServersLoadingTab() != m_TabType)
257 {
258 return;
259 }
260 }
261 }
262 else
263 {
264 m_Menu.SetServersLoadingTab(TabType.NONE);
265 }
266 }
267 else
268 {
269 m_Menu.SetServersLoadingTab(TabType.NONE);
270 }
271
272 if (response == "thelastone")
273 {
275 }
276 else
277 {
278 m_ServersEstimateCount = result_list.m_NumServers;
279 }
280
283 }
int m_ServersEstimateCount
Definition ServerBrowserTabConsolePages.c:18
void OnLoadServersAsyncPCFinished()
Definition ServerBrowserTabPc.c:285
override int AddSorted(GetServersResultRow entry)
Definition ServerBrowserTabPc.c:653
const int SERVERS_VISIBLE_COUNT
Definition ServerBrowserTabPc.c:3
int GetTimeOfDayEnum(string time_of_day)
Definition ServerBrowserTabPc.c:619

Перекрестные ссылки AddSorted(), m_Menu, m_PageIndex, m_TabType, PassFilter() и UpdateServerList().

◆ OnLoadServersAsyncPCFinished()

void OnLoadServersAsyncPCFinished ( )
inlineprotected
286 {
288 }

◆ OnMouseButtonUp()

override bool OnMouseButtonUp ( Widget w,
int x,
int y,
int button )
inlineprotected
399 {
400 if ( button == MouseState.LEFT )
401 {
402 if ( w == m_HostSort )
403 {
404 ToggleSort( ESortType.HOST );
406 return true;
407 }
408 else if ( w == m_TimeSort )
409 {
410 ToggleSort( ESortType.TIME );
412 return true;
413 }
414 else if ( w == m_PopulationSort )
415 {
416 ToggleSort( ESortType.POPULATION );
418 return true;
419 }
420 else if ( w == m_SlotsSort )
421 {
422 ToggleSort( ESortType.SLOTS );
424 return true;
425 }
426 else if ( w == m_PingSort )
427 {
428 ToggleSort( ESortType.PING );
430 return true;
431 }
432 else if ( w == m_MapSort )
433 {
434 ToggleSort( ESortType.MAP );
436 return true;
437 }
438 }
439 return false;
440 }
void ToggleSort(ESortType type)
Definition ServerBrowserTabPc.c:510

Перекрестные ссылки m_HostSort, m_MapSort, m_PingSort, m_PopulationSort, m_SlotsSort, m_TimeSort и UpdateServerList().

◆ OnMouseEnter()

override bool OnMouseEnter ( Widget w,
int x,
int y )
inlineprotected
363 {
364 if (IsFocusable(w))
365 {
367
368 if (w == m_FilterSearchText)
369 {
371 }
372 else if (w == m_FilterSearchIP)
373 {
375 }
376
377 return true;
378 }
379 return false;
380 }
override bool IsFocusable(Widget w)
Definition ServerBrowserTabPc.c:1173
override void ColorHighlight(Widget w)
Definition ServerBrowserTabConsole.c:386

Перекрестные ссылки ColorHighlight(), IsFocusable(), m_FilterSearchText, m_FilterSearchTextBox и SetFocus().

Используется в ScriptedWidgetEventHandler::OnMouseEnter().

◆ OnMouseLeave()

override bool OnMouseLeave ( Widget w,
Widget enterW,
int x,
int y )
inlineprotected
383 {
384 if (IsFocusable(w))
385 {
386 ColorNormal(w);
387
389 {
390 SetFocus( null );
391 }
392
393 return true;
394 }
395 return false;
396 }
override void ColorNormal(Widget w)
Definition ServerBrowserTabConsole.c:396

Перекрестные ссылки ColorNormal(), IsFocusable(), m_FilterSearchText и SetFocus().

Используется в ScriptedWidgetEventHandler::OnMouseLeave().

◆ OnPressShoulder() [1/2]

override void OnPressShoulder ( )
inlineprotected
299 {
300 switch (m_SelectedPanel)
301 {
302 case SelectedPanel.FILTERS:
303 case SelectedPanel.DETAILS:
304 {
306 break;
307 }
308 case SelectedPanel.BROWSER:
309 {
311 break;
312 }
313 }
314 }
SelectedPanel m_SelectedPanel
Definition ServerBrowserTab.c:44

Перекрестные ссылки m_SelectedPanel и SwitchToFilters().

◆ OnPressShoulder() [2/2]

override void OnPressShoulder ( )
inlineprotected
469 {
470 if (m_TabType == TabType.FAVORITE)
471 return;
472
473 switch (m_SelectedPanel)
474 {
475 case SelectedPanel.BROWSER:
476 {
477 if (m_TabType == TabType.FAVORITE)
478 {
480 }
481 else
482 {
484 }
485 break;
486 }
487 case SelectedPanel.DETAILS:
488 case SelectedPanel.FILTERS:
489 {
491 break;
492 }
493 }
494 }

Перекрестные ссылки m_SelectedPanel, m_TabType, SwitchToDetails() и SwitchToFilters().

◆ PressA() [1/2]

override void PressA ( )
inlineprotected
251 {
252
253 }

◆ PressA() [2/2]

override void PressA ( )
inlineprotected
342 {
343
344 }

◆ PressSholderLeft() [1/2]

override void PressSholderLeft ( )
inlineprotected
289 {
291 }
override void OnPressShoulder()
Definition ServerBrowserTabConsole.c:298

Перекрестные ссылки OnPressShoulder().

◆ PressSholderLeft() [2/2]

override void PressSholderLeft ( )
inlineprotected
459 {
461 }

Перекрестные ссылки OnPressShoulder().

◆ PressSholderRight() [1/2]

override void PressSholderRight ( )
inlineprotected
294 {
296 }

Перекрестные ссылки OnPressShoulder().

◆ PressSholderRight() [2/2]

override void PressSholderRight ( )
inlineprotected
464 {
466 }

Перекрестные ссылки OnPressShoulder().

◆ PressThumbRight()

override void PressThumbRight ( )
inlineprotected
368 {
369 switch (m_SelectedPanel)
370 {
371 case SelectedPanel.BROWSER:
372 {
374 {
375 m_Menu.ServerListFocus(true, m_SelectedServer.ToggleFavorite());
376 }
377 break;
378 }
379 case SelectedPanel.FILTERS:
380 {
381 if (m_Filters)
382 {
383 m_Filters.ResetFilters();
384 }
385 break;
386 }
387 }
388 }
ServerBrowserEntry m_SelectedServer
Definition ServerBrowserTab.c:38

Перекрестные ссылки m_Filters, m_Menu, m_SelectedPanel и m_SelectedServer.

◆ PressX() [1/2]

override void PressX ( )
inlineprotected
256 {
257 RefreshList();
258 }

Перекрестные ссылки RefreshList().

◆ PressX() [2/2]

override void PressX ( )
inlineprotected
347 {
348 if ( (GetGame().GetTime() - m_TimeLastServerRefresh) > 1000 )
349 {
350 m_TimeLastServerRefresh = GetGame().GetTime();
351
353 {
355 }
356 m_OnlineFavServers.Clear();
357 RefreshList();
358 }
359
360 }
int m_TimeLastServerRefresh
Definition ServerBrowserTabConsolePages.c:19

Перекрестные ссылки GetGame(), GetTime(), m_OnlineFavServers, ServerBrowserTabConsolePages::RefreshList() и SetCurrentPage().

◆ PressY() [1/2]

override void PressY ( )
inlineprotected
261 {
262 /*
263 if( m_Menu.GetServersLoadingTab() != TabType.NONE )
264 {
265 return;
266 }
267 */
268
269 switch ( m_SelectedPanel )
270 {
271 case SelectedPanel.BROWSER:
272 {
273 if ( m_SelectedServer )
274 {
275 m_Menu.ServerListFocus( true, m_SelectedServer.ToggleFavorite() );
276 }
277 break;
278 }
279 case SelectedPanel.FILTERS:
280 {
281 if ( m_Filters )
282 m_Filters.ResetFilters();
283 break;
284 }
285 }
286 }

Перекрестные ссылки m_Filters, m_Menu, m_SelectedPanel и m_SelectedServer.

◆ PressY() [2/2]

override void PressY ( )
inlineprotected
363 {
365 }
void SwitchRightAreaView()
Definition ServerBrowserTab.c:749

Перекрестные ссылки SwitchRightAreaView().

◆ RefreshList() [1/3]

override void RefreshList ( )
inlineprotected
213 {
214 for ( int i = 0; i < m_EntriesSorted.Count(); i++ )
215 {
216 m_EntriesSorted.GetElement(i).Clear();
217 }
218
219 m_Filters.SaveFilters();
220
221 super.RefreshList();
222
223 m_ServerListScroller.VScrollToPos01( 0 );
224
225 m_LoadingText.SetText( "#dayz_game_loading" );
226
227 //SetFocusFilters();
228 //UpdateStatusBar();
229 }

Перекрестные ссылки m_EntriesSorted, m_Filters, m_LoadingText и m_ServerListScroller.

Используется в PressX().

◆ RefreshList() [2/3]

override void RefreshList ( )
inlineprotected
296 {
297 for ( int i = 0; i < m_ServerListEntiers.Count(); i++ )
298 {
299 m_ServerListEntiers[i].Show(false);
300 }
301
302 for ( int j = 0; j < m_EntriesSorted.Count(); j++ )
303 {
305
306 if ( result_rows )
307 {
308 result_rows.Clear();
309 }
310 }
311
312 m_IsFilterChanged = false;
313 m_Filters.SaveFilters();
314
315 super.RefreshList();
316
317 m_ServerListScroller.VScrollToPos01( 0 );
318
319 m_LoadingText.SetText( "#dayz_game_loading" );
320 }

Перекрестные ссылки m_EntriesSorted, m_Filters, m_LoadingText и m_ServerListScroller.

◆ RefreshList() [3/3]

override void RefreshList ( )
inlineprotected
163 {
164 for ( int i = 0; i < m_EntriesSorted.Count(); i++ )
165 {
166 m_EntriesSorted.GetElement(i).Clear();
167 }
168 m_ServerListEntries.Clear();
169
170 OnlineServices.m_ServersAsyncInvoker.Insert( m_Menu.OnLoadServersAsync, EScriptInvokerInsertFlags.NONE );
171
172 m_LoadingFinished = false;
173 m_Loading = true;
177 m_PageIndex = 0;
179
180 super.RefreshList();
181
182 m_ServerListScroller.VScrollToPos01( 0 );
183
188 }
EScriptInvokerInsertFlags
Definition tools.c:130
void ButtonRefreshToCancel()
Definition ServerBrowserTabPc.c:1202

Перекрестные ссылки m_EntriesSorted, m_Loading, m_LoadingFinished, m_Menu, m_PageIndex, m_SelectedServer, m_ServerListScroller, OnlineServices::m_ServersAsyncInvoker, m_TotalLoadedServers и UpdateServerList().

◆ ResetFilters() [1/3]

override void ResetFilters ( )
inlineprotected
232 {
233 super.ResetFilters();
234
235 m_IsFilterChanged = false;
236 }

◆ ResetFilters() [2/3]

override void ResetFilters ( )
inlineprotected
323 {
324 super.ResetFilters();
325
326 m_IsFilterChanged = false;
327 }

◆ ResetFilters() [3/3]

override void ResetFilters ( )
inlineprotected
191 {
192 m_Filters.ResetFilters();
193
195
196 if (m_Loading)
197 {
199 }
200 }

Перекрестные ссылки ButtonDisable(), ButtonEnable(), m_ApplyFilter, m_Filters, m_Loading и m_RefreshList.

◆ Right()

override void Right ( )
inlineprotected
425 {
427 {
430 if ( curr_page < m_PagesCount )
431 {
434 }
435 }
436 }

Перекрестные ссылки GetCurrentPage() и SetCurrentPage().

◆ RightHold()

override void RightHold ( )
inlineprotected
439 {
441 {
443 {
445 Right();
446 }
447 }
448 }

Перекрестные ссылки GetGame(), GetTime() и Right().

◆ RightRelease()

override void RightRelease ( )
inlineprotected
451 {
453 {
454 RefreshList();
455 }
456 }

Перекрестные ссылки GetCurrentPage() и ServerBrowserTabConsolePages::RefreshList().

◆ SetEnableFilters() [1/2]

void SetEnableFilters ( bool enable)
inlineprotected
370 {
371 Widget w_filters = m_Root.FindAnyWidget("filters_content");
372 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
373 w_filters.Enable( enable );
374 w_content.Enable( !enable );
375 }

Перекрестные ссылки m_Root.

◆ SetEnableFilters() [2/2]

void SetEnableFilters ( bool enable)
inlineprotected
600 {
601 Widget w_filters = m_Root.FindAnyWidget("filters_content");
602 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
603 w_content.Enable( !enable );
604
605 if ( enable )
606 {
607 SetFocus( ButtonWidget.Cast(w_filters.FindWidget("sort_button")) );
608 }
609 }

Перекрестные ссылки m_Root и SetFocus().

◆ SetEnableServers() [1/2]

void SetEnableServers ( bool enable)
inlineprotected
378 {
379 Widget w_filters = m_Root.FindAnyWidget("filters_content");
380 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
381 w_filters.Enable( !enable );
382 w_content.Enable( enable );
383 }

Перекрестные ссылки m_Root.

◆ SetEnableServers() [2/2]

void SetEnableServers ( bool enable)
inlineprotected
612 {
613 Widget w_filters = m_Root.FindAnyWidget("filters_content");
614 Widget w_content = m_Root.FindAnyWidget("server_list_scroller");
615 w_content.Enable( enable );
616 }

Перекрестные ссылки m_Root.

◆ SetFocusDetails() [1/2]

void SetFocusDetails ( )
inlineprotected
330 {
331 SetEnableFilters(false);
332 SetEnableServers(false);
333
334 m_Details.Focus();
335 m_IsDetailsFocused = true;
336 m_IsFilterFocused = false;
337 }
void SetEnableServers(bool enable)
Definition ServerBrowserTabConsole.c:377
void SetEnableFilters(bool enable)
Definition ServerBrowserTabConsole.c:369

Перекрестные ссылки m_Details.

◆ SetFocusDetails() [2/2]

void SetFocusDetails ( )
inlineprotected
541 {
542 SetEnableFilters(false);
543 SetEnableServers(false);
544
546 {
547 m_WidgetNavFilters.Show(true);
548 m_WidgetNavServers.Show(false);
549 }
550
551 m_Details.Focus();
552 m_IsDetailsFocused = true;
553 m_IsFilterFocused = false;
555 }

Перекрестные ссылки m_Details и m_SelectedPanel.

◆ SetFocusFilters() [1/2]

void SetFocusFilters ( )
inlineprotected
317 {
318 SetEnableFilters(true);
319 SetEnableServers(false);
320
321 // if loaded servers is 0, then hide Top navigation menu <Left / Right>
322 m_WidgetNavFilters.Show((m_EntryWidgets.Count() > 0));
323 m_WidgetNavServers.Show(false);
324
325 m_Filters.Focus();
326 m_IsFilterFocused = true;
327 }

Перекрестные ссылки m_EntryWidgets и m_Filters.

◆ SetFocusFilters() [2/2]

void SetFocusFilters ( )
inlineprotected
520 {
521 SetEnableFilters(true);
522 SetEnableServers(false);
523
524 // if loaded servers is 0, then hide Top navigation menu <Left / Right>
526 {
527 m_WidgetNavFilters.Show(true);
528 m_WidgetNavServers.Show(false);
529 }
530
531 m_Filters.Focus();
532 m_IsFilterFocused = true;
533 m_IsDetailsFocused = false;
534 m_Menu.ShowAButton(true);
535
538 }

Перекрестные ссылки m_Filters, m_Menu и m_SelectedPanel.

◆ SetFocusServers() [1/2]

void SetFocusServers ( )
inlineprotected
350 {
351 SetEnableServers(true);
352 SetEnableFilters(false);
353
354 m_WidgetNavFilters.Show(false);
355 m_WidgetNavServers.Show(true);
356
358 if (entries.Count() > 0)
359 {
360 m_EntryWidgets.Get(entries.Get(0).GetIpPort()).Focus();
361 m_IsFilterFocused = false;
362 }
363 /*else
364 {
365 SetFocusFilters();
366 }*/
367 }

Перекрестные ссылки m_EntriesSorted, m_EntryWidgets и m_SortType.

◆ SetFocusServers() [2/2]

void SetFocusServers ( )
inlineprotected
558 {
559 SetEnableServers(true);
560 SetEnableFilters(false);
561
563 {
564 m_WidgetNavFilters.Show(false);
565 if (m_TabType != TabType.FAVORITE)
566 {
567 m_WidgetNavServers.Show(true);
568 }
569 }
570
572 if (entries && entries.Count() > 0)
573 {
574 string entryKey = entries.Get(0).GetIpPort();
575 ServerBrowserEntry sbEntry = m_EntryWidgets.Get(entryKey);
576 if (sbEntry)
577 {
578 sbEntry.Focus();
579 }
580
581 m_Menu.ShowAButton(true);
582 m_Menu.UpdateAButtonLabel("#str_serverbrowserroot_toolbar_bg_consoletoolbar_connect_connecttext0");
583 m_Menu.ShowThumbRButton(true);
584 }
585 else
586 {
587 SetFocus(null);
588 m_Menu.ShowAButton(false);
589 m_Menu.ShowThumbRButton(false);
590 }
591
592 m_IsFilterFocused = false;
593 m_IsDetailsFocused = false;
594
597 }

Перекрестные ссылки m_EntriesSorted, m_EntryWidgets, m_Menu, m_SelectedPanel, m_SortType, m_TabType и SetFocus().

◆ SetPageIndex()

void SetPageIndex ( int page_index)
inlineprotected
503 {
507 Focus();
508 }
override void Focus()
Definition ServerBrowserTabConsole.c:339

Перекрестные ссылки Focus(), m_PageIndex и UpdateServerList().

◆ SetSort()

override void SetSort ( ESortType type,
ESortOrder order )
inlineprotected
542 {
543 super.SetSort( type, order);
544
545 #ifdef PLATFORM_WINDOWS
546 m_Root.FindAnyWidget( "host_sort" ).Show( false );
547 m_Root.FindAnyWidget( "population_sort" ).Show( false );
548 m_Root.FindAnyWidget( "slots_sort" ).Show( false );
549
550 m_Root.FindAnyWidget( "time_sort" ).Show( false );
551 m_Root.FindAnyWidget( "ping_sort" ).Show( false );
552 m_Root.FindAnyWidget( "map_sort" ).Show( false );
553
555 root = TextWidget.Cast( m_Root.FindAnyWidget( "server_list_content_header_host_label" ) );
556 root.SetColor( ARGBF( 1, 1, 1, 1 ) );
557 root = TextWidget.Cast( m_Root.FindAnyWidget( "server_list_content_header_population_label" ) );
558 root.SetColor( ARGBF( 1, 1, 1, 1 ) );
559 root = TextWidget.Cast( m_Root.FindAnyWidget( "server_list_content_header_slots_label" ) );
560 root.SetColor( ARGBF( 1, 1, 1, 1 ) );
561
562 root = TextWidget.Cast( m_Root.FindAnyWidget( "server_list_content_header_ping_label" ) );
563 root.SetColor( ARGBF( 1, 1, 1, 1 ) );
564 root = TextWidget.Cast( m_Root.FindAnyWidget( "server_list_content_header_time_label" ) );
565 root.SetColor( ARGBF( 1, 1, 1, 1 ) );
566
567 string r_name;
568 string w_name;
569
570 switch ( type )
571 {
572 case ESortType.HOST:
573 {
574 r_name = "server_list_content_header_host_label";
575 w_name = "host_sort";
576 break;
577 }
578 case ESortType.TIME:
579 {
580 r_name = "server_list_content_header_time_label";
581 w_name = "time_sort";
582 break;
583 }
584 case ESortType.POPULATION:
585 {
586 r_name = "server_list_content_header_population_label";
587 w_name = "population_sort";
588 break;
589 }
590 case ESortType.SLOTS:
591 {
592 r_name = "server_list_content_header_slots_label";
593 w_name = "slots_sort";
594 break;
595 }
596 case ESortType.PING:
597 {
598 r_name = "server_list_content_header_ping_label";
599 w_name = "ping_sort";
600 break;
601 }
602 case ESortType.MAP:
603 {
604 r_name = "server_list_content_header_map_label";
605 w_name = "map_sort";
606 break;
607 }
608 }
609
610 root = TextWidget.Cast( m_Root.FindAnyWidget( r_name ) );
611 root.SetColor( ARGBF( 1, 1, 0, 0 ) );
612
613 m_Root.FindAnyWidget( w_name ).Show( true );
614 m_Root.FindAnyWidget( w_name + "_asc" ).Show( !m_SortOrder );
615 m_Root.FindAnyWidget( w_name + "_dsc" ).Show( m_SortOrder );
616 #endif
617 }
ESortOrder m_SortOrder
Definition ServerBrowserTab.c:42
int ARGBF(float fa, float fr, float fg, float fb)
Converts <0.0, 1.0> ARGB into color.
Definition proto.c:332

Перекрестные ссылки ARGBF(), m_Root и m_SortOrder.

Используется в ScriptedWidgetEventHandler::OnSortChanged().

◆ ShowHideConsoleWidgets() [1/2]

void ShowHideConsoleWidgets ( )
inlineprotected
54 {
55#ifdef PLATFORM_PS4
56 bool is_xbox = false;
57#else
58 bool is_xbox = true;
59#endif
60
61 m_Root.FindAnyWidget( "filters_root_nav_img_lb_xbox" ).Show( is_xbox );
62 m_Root.FindAnyWidget( "filters_root_nav_img_rb_xbox" ).Show( is_xbox );
63 m_Root.FindAnyWidget( "server_list_root_nav_img_lb_xbox" ).Show( is_xbox );
64 m_Root.FindAnyWidget( "server_list_root_nav_img_rb_xbox" ).Show( is_xbox );
65
66 m_Root.FindAnyWidget( "filters_root_nav_img_l1_ps4" ).Show( !is_xbox );
67 m_Root.FindAnyWidget( "filters_root_nav_img_r1_ps4" ).Show( !is_xbox );
68 m_Root.FindAnyWidget( "server_list_root_nav_img_l1_ps4" ).Show( !is_xbox );
69 m_Root.FindAnyWidget( "server_list_root_nav_img_r1_ps4" ).Show( !is_xbox );
70 }

Перекрестные ссылки m_Root.

◆ ShowHideConsoleWidgets() [2/2]

void ShowHideConsoleWidgets ( )
inlineprotected
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 }

Перекрестные ссылки m_Root.

◆ ShowServerDetails() [1/2]

override void ShowServerDetails ( )
inlineprotected
509 {
510 super.ShowServerDetails();
511
512 if (m_TabType != TabType.FAVORITE)
513 {
514 m_FilterRoot.Show(false);
516 }
517 }

Перекрестные ссылки m_BtnShowFilters, m_FilterRoot и m_TabType.

◆ ShowServerDetails() [2/2]

override void ShowServerDetails ( )
inlineprotected
1238 {
1239 super.ShowServerDetails();
1240
1241 if (m_TabType != TabType.FAVORITE && m_TabType != TabType.LAN)
1242 {
1243 m_BtnShowFilters.Show(true);
1244 m_FilterRoot.Show(false);
1245 }
1246 }

Перекрестные ссылки m_BtnShowFilters, m_FilterRoot и m_TabType.

◆ SortedInsert()

int SortedInsert ( GetServersResultRow entry,
ESortType sort_type )
inlineprotected
688 {
690 }
int SortedInsertEx(GetServersResultRow entry, ESortType sortType, bool isDescending)
Definition ServerBrowserTabPc.c:692

Перекрестные ссылки m_SortInverted.

◆ SortedInsertAsc()

int SortedInsertAsc ( GetServersResultRow entry,
ESortType sort_type )
inlineprivate
759 {
761
762 int i;
763 int index_min = 0;
764 int index_max = list.Count() - 1;
765 int target_index = Math.Floor( index_max / 2 );
766
767 if ( index_max == -1 )
768 {
769 list.Insert( entry );
770 return 0;
771 }
772
773 if ( sort_type == ESortType.HOST )
774 {
775 string entry_value_str = entry.GetValueStr(ESortType.HOST);
776
777 while ( true )
778 {
779 string target_value_str = list[target_index].GetValueStr(ESortType.HOST);
780
782 {
783 for ( i = index_min; i <= index_max; i++ )
784 {
785 if ( entry_value_str <= list[i].GetValueStr(ESortType.HOST) )
786 {
787 list.InsertAt( entry, i );
788 return i;
789 }
790 }
791
792 index_max++;
793 list.InsertAt( entry, index_max );
794 return target_index;
795 }
797 {
800 }
802 {
805 }
806 }
807 }
808 else
809 {
811
812 while ( true )
813 {
814 int target_value_int = list[target_index].GetValueInt( sort_type );
815
817 {
818 for ( i = index_min; i <= index_max; i++ )
819 {
820 if ( entry_value_int <= list[i].GetValueInt( sort_type ) )
821 {
822 list.InsertAt( entry, i );
823 return i;
824 }
825 }
826
827 index_max++;
828 list.InsertAt( entry, index_max );
829 return target_index;
830 }
832 {
835 }
837 {
840 }
841 }
842 }
843
844 return target_index;
845 }
int GetValueInt(ESortType sort_type)
Definition BiosLobbyService.c:241
string GetValueStr(ESortType sort_type)
Definition BiosLobbyService.c:221
Definition EnMath.c:7
static proto float Floor(float f)
Returns floor of value.

Перекрестные ссылки Math::Floor(), GetServersResultRow::GetValueInt(), GetServersResultRow::GetValueStr() и m_EntriesSorted.

◆ SortedInsertDesc()

int SortedInsertDesc ( GetServersResultRow entry,
ESortType sort_type )
inlineprivate
849 {
851
852 int i;
853 int index_min = 0;
854 int index_max = list.Count() - 1;
855 int target_index = Math.Floor( index_max / 2 );
856
857 if ( index_max == -1 )
858 {
859 list.Insert( entry );
860 return 0;
861 }
862
863 if ( sort_type == ESortType.HOST )
864 {
865 string entry_value_str = entry.GetValueStr(ESortType.HOST);
866
867 while ( true )
868 {
869 string target_value_str = list[target_index].GetValueStr(ESortType.HOST);
870
872 {
873 for ( i = index_min; i <= index_max; i++ )
874 {
875 if ( entry_value_str >= list[i].GetValueStr(ESortType.HOST) )
876 {
877 list.InsertAt( entry, i );
878 return i;
879 }
880 }
881
882 index_max++;
883 list.InsertAt( entry, index_max );
884 return target_index;
885 }
887 {
890 }
892 {
895 }
896 }
897 }
898 else
899 {
901
902 while ( true )
903 {
904 int target_value_int = list[target_index].GetValueInt( sort_type );
905
907 {
908 for ( i = index_min; i <= index_max; i++ )
909 {
910 if ( entry_value_int >= list[i].GetValueInt( sort_type ) )
911 {
912 list.InsertAt( entry, i );
913 return i;
914 }
915 }
916
917 index_max++;
918 list.InsertAt( entry, index_max );
919 return target_index;
920 }
922 {
925 }
927 {
930 }
931 }
932 }
933
934 return target_index;
935 }

Перекрестные ссылки Math::Floor(), GetServersResultRow::GetValueInt(), GetServersResultRow::GetValueStr() и m_EntriesSorted.

◆ SortedInsertEx()

int SortedInsertEx ( GetServersResultRow entry,
ESortType sortType,
bool isDescending )
inlineprivate
693 {
695 int indexMax = list.Count() - 1;
696 int indexMin = 0;
697 int targetIndex = Math.Floor( indexMax / 2 );
698 int comparisonMultiplier = 1;
699
700 // if order is descending, then invert comparison results
701 if (isDescending == true)
702 {
704 }
705
706 if ( indexMax == -1 )
707 {
708 list.Insert( entry );
709 return 0;
710 }
711
712 while ( true )
713 {
715
716 if ((indexMax - indexMin) <= 1)
717 {
718 for (int i = indexMin; i <= indexMax; i++ )
719 {
721
722 if ( comparisonResult > 0 )
723 {
724 list.InsertAt( entry, i );
725 return i;
726 }
727 }
728
729 // adding entry AFTER indexMax
730 targetIndex = Math.Min(indexMax + 1, list.Count());
731 list.InsertAt(entry, targetIndex);
732 return targetIndex;
733 }
734
735 if (comparisonResult == 0)
736 {
737 list.InsertAt(entry, targetIndex);
738 return targetIndex;
739 }
740
741 if (comparisonResult > 0)
742 {
744 }
745
746 else if (comparisonResult < 0)
747 {
749 }
750
752 }
753
754 return 0;
755 }
int CompareTo(GetServersResultRow other, ESortType sortType)
Definition BiosLobbyService.c:272
static proto float Min(float x, float y)
Returns smaller of two given values.

Перекрестные ссылки GetServersResultRow::CompareTo(), Math::Floor(), m_EntriesSorted и Math::Min().

◆ SwitchToDetails() [1/2]

override void SwitchToDetails ( bool focus = true)
inlineprotected
776 {
778
779 if (focus)
781
782 m_Menu.UpdateYButtonLabel("#STR_server_browser_menu_server_filters");
783 m_RightAreaHeaderText.SetText("#STR_server_browser_menu_server_details");
784 }
void SetFocusDetails()
Definition ServerBrowserTabConsole.c:329

Перекрестные ссылки m_Menu, m_RightAreaHeaderText и ShowServerDetails().

Используется в SwitchRightAreaView().

◆ SwitchToDetails() [2/2]

override void SwitchToDetails ( bool focus = true)
inlineprotected
1225 {
1227 }

Перекрестные ссылки ShowServerDetails().

◆ SwitchToFilters() [1/2]

override void SwitchToFilters ( bool focus = true)
inlineprotected
787 {
788 if (m_TabType == TabType.FAVORITE)
789 return;
790
791 m_FilterRoot.Show(true);
793 m_DetailsRoot.Show(false);
794
795 if (focus)
797
798 m_Menu.UpdateYButtonLabel("#server_details_header");
799 m_RightAreaHeaderText.SetText("#STR_server_browser_menu_server_filters");
800 }

Перекрестные ссылки m_BtnShowDetails, m_DetailsRoot, m_FilterRoot, m_Menu, m_RightAreaHeaderText, m_TabType и ServerBrowserTabConsolePages::SetFocusFilters().

Используется в SwitchRightAreaView().

◆ SwitchToFilters() [2/2]

override void SwitchToFilters ( bool focus = true)
inlineprotected
1230 {
1231 m_FilterRoot.Show(true);
1232 m_RightAreaHeaderText.SetText("#STR_server_browser_menu_server_filters");
1233 m_DetailsRoot.Show(false);
1234 m_BtnShowDetails.Show(true);
1235 }

Перекрестные ссылки m_BtnShowDetails, m_DetailsRoot, m_FilterRoot и m_RightAreaHeaderText.

◆ ToggleSort()

void ToggleSort ( ESortType type)
inlineprotected
511 {
512 ESortOrder order = ESortOrder.ASCENDING;
513
514 if ( m_SortType != type )
515 {
516 if ( m_SortInverted[type] == true )
517 {
518 m_EntriesSorted[type].Invert();
519 }
520
521 m_SortInverted[type] = false;
522 }
523 else
524 {
525 if ( m_SortOrder == ESortOrder.ASCENDING )
526 {
527 m_EntriesSorted[type].Invert();
528 m_SortInverted[type] = true;
529 order = ESortOrder.DESCENDING;
530 }
531 else
532 {
533 m_EntriesSorted[type].Invert();
534 m_SortInverted[type] = false;
535 }
536 }
537
538 SetSort( type, order );
539 }

Перекрестные ссылки m_EntriesSorted, m_SortInverted, m_SortOrder, m_SortType и SetSort().

◆ UpdatePageButtons() [1/2]

void UpdatePageButtons ( )
inlineprotected
619 {
620 TextWidget wgt_page_stat = TextWidget.Cast( m_Root.FindAnyWidget( "servers_navigation_page_status" ) );
621
622 wgt_page_stat.SetText( GetCurrentPage().ToString() +" / "+ m_PagesCount.ToString() );
623
625 {
626 bool can_left = (GetCurrentPage() > 1);
628 m_BtnPagePrev.Show( can_left );
629
632 m_BtnPageNext.Show( can_right );
633 }
634 else
635 {
636 m_ButtonPageLeftImg.Show( false );
637 m_BtnPagePrev.Show( false );
638 m_ButtonPageRightImg.Show( false );
639 m_BtnPageNext.Show( false );
640 }
641 }
proto string ToString()

Перекрестные ссылки GetCurrentPage(), m_BtnPageNext, m_BtnPagePrev, m_Root и ToString().

◆ UpdatePageButtons() [2/2]

void UpdatePageButtons ( )
inlineprivate
938 {
940 if ( m_PagesCount > 1 )
941 {
942 m_PnlPagesPanel.Show( true );
943
944 int i;
946 m_PageStartNum = 1;
948
950 {
952
953 // Pages are less like buttons - changing selected button
954 for ( i = 1; i <= m_BtnPages.Count(); ++i )
955 {
957
958 int page_index = (i - 1);
960 m_BtnPages[page_index].SetText( i.ToString() );
961
962 if ( m_PageIndex == page_index )
963 {
964 m_BtnPages[page_index].SetState( true );
965 }
966 else
967 {
968 m_BtnPages[page_index].SetState( false );
969 }
970 }
971 }
972 else
973 {
974 // Pages are more like buttons
976 {
977 //Left side (start of pages)
978 //m_PageStartNum = 1;
979 //m_PageEndNum = PAGES_BUTTONS_COUNT;
980 }
981 else
982 {
985
987 {
988 // Right side (end of pages)
991 }
992 }
993
994
995 // Button Selection
998 {
999 if ( m_PageEndNum == m_PagesCount )
1000 {
1001 //Right
1003 }
1004 else
1005 {
1006 //Center
1008 }
1009 }
1010
1011
1012 for ( i = 0; i < m_BtnPages.Count(); ++i )
1013 {
1014 m_BtnPages[i].SetText( (m_PageStartNum + i).ToString() );
1015 m_BtnPages[i].SetState( ( i == selected_btn_index ) );
1016 }
1017 }
1018
1019 // Button GoTo Prev Page
1020 if ( m_PageIndex > 0 )
1021 {
1022 m_BtnPagePrev.SetText( "<" );
1023 m_BtnPagePrev.Enable( true );
1024 }
1025 else
1026 {
1027 m_BtnPagePrev.SetText( "" );
1028 m_BtnPagePrev.Enable( false );
1029 }
1030
1031 // Button GoTo Next Page
1032 if ( m_PageIndex < (m_PagesCount - 1) )
1033 {
1034 m_BtnPageNext.SetText( ">" );
1035 m_BtnPageNext.Enable( true );
1036 }
1037 else
1038 {
1039 m_BtnPageNext.SetText( "" );
1040 m_BtnPageNext.Enable( false );
1041 }
1042
1043 // Button GoTo First Page
1044 if ( m_PageStartNum == 1 )
1045 {
1046 m_BtnPagesFirst.SetText( "" );
1047 m_BtnPagesFirst.Enable( false );
1048 }
1049 else
1050 {
1051 m_BtnPagesFirst.SetText( "<<" );
1052 m_BtnPagesFirst.Enable( true );
1053 }
1054
1055 // Button GoTo Last Page
1056 if ( m_PageEndNum == m_PagesCount )
1057 {
1058 m_BtnPagesLast.SetText( "" );
1059 m_BtnPagesLast.Enable( false );
1060 }
1061 else
1062 {
1063 m_BtnPagesLast.SetText( ">>" );
1064 m_BtnPagesLast.Enable( true );
1065 }
1066 }
1067 else
1068 {
1069 m_PnlPagesPanel.Show(false);
1070 }
1071 }
int m_PageEndNum
Definition ServerBrowserTabConsolePages.c:16
static proto float Round(float f)
Returns mathematical round of value.
static proto float Ceil(float f)
Returns ceil of value.

Перекрестные ссылки Math::Ceil(), m_BtnPageNext, m_BtnPagePrev, m_PageIndex, m_TotalLoadedServers и Math::Round().

◆ UpdateServerList()

override void UpdateServerList ( )
inlineprivate
1074 {
1075 int lastFilledIndexOnPage = 0;
1077 ServerBrowserEntry entry;
1078
1079 m_EntryWidgets.Clear();
1080
1081 for (int i = 0; i < SERVERS_VISIBLE_COUNT; ++i)
1082 {
1084
1086 {
1088
1089 if (server_info.m_Favorite)
1090 {
1091 m_OnlineFavServers.Insert(server_info.m_Id);
1092 }
1093
1094 server_info.m_IsSelected = (server_info.m_Id == m_CurrentSelectedServer);
1095
1096 entry = GetServerEntryByIndex(i, server_info.m_Id);
1097 entry.Show(true);
1098 entry.SetIsOnline(true);
1099 entry.FillInfo(server_info);
1100 entry.SetMods(m_EntryMods.Get(server_info.m_Id));
1101 entry.UpdateEntry();
1102
1104 }
1105 else
1106 {
1107 entry = GetServerEntryByIndex(i, "-1");
1108
1109 if (entry)
1110 {
1111 entry.Show(false);
1112 }
1113 }
1114 }
1115
1117
1118 m_ServerList.Update();
1119 }

Перекрестные ссылки Count, ServerBrowserTabPc::LoadExtraEntries(), m_CurrentSelectedServer, m_EntriesSorted, m_EntryMods, m_EntryWidgets, m_OnlineFavServers, m_PageIndex, m_ServerList, m_SortType и m_TotalLoadedServers.

Используется в Focus().

◆ UpdateStatusBar()

void UpdateStatusBar ( )
inlineprivate
1122 {
1123 string serversFound = string.Format("#servers_found: %1", m_TotalLoadedServers);
1124 if ( m_LoadingFinished )
1125 {
1126 m_LoadingText.SetText( serversFound );
1127 }
1128 else
1129 {
1130 m_LoadingText.SetText( string.Format("#dayz_game_loading %1", serversFound) );
1131 }
1132 }

Перекрестные ссылки m_LoadingFinished, m_LoadingText и m_TotalLoadedServers.

Поля

◆ m_BtnPages

ref array<ButtonWidget> m_BtnPages
protected

◆ m_BtnPagesFirst

ButtonWidget m_BtnPagesFirst
protected

◆ m_BtnPagesLast

ButtonWidget m_BtnPagesLast
protected

◆ m_ButtonPageLeftImg

Widget m_ButtonPageLeftImg
protected

◆ m_ButtonPageRightImg

Widget m_ButtonPageRightImg
protected

◆ m_FilterPanelAccTime

Widget m_FilterPanelAccTime
protected

◆ m_FilterPanelPing

Widget m_FilterPanelPing
protected

◆ m_FilterSearchIP

Widget m_FilterSearchIP
protected

◆ m_FilterSearchIPBox

Widget m_FilterSearchIPBox
protected

◆ m_IsDetailsFocused

bool m_IsDetailsFocused
private

◆ m_IsFilterChanged

bool m_IsFilterChanged
private

◆ m_IsFilterFocused

bool m_IsFilterFocused
private

◆ m_PageEndNum

int m_PageEndNum
protected

◆ m_PageIndex

int m_PageIndex
protected

◆ m_PagesCount

int m_PagesCount
protected

◆ m_PageStartNum

int m_PageStartNum
protected

◆ m_PnlPagesLoadingText

TextWidget m_PnlPagesLoadingText
protected

◆ m_PnlPagesPanel

Widget m_PnlPagesPanel
protected

◆ m_PreviousPage

int m_PreviousPage
protected

◆ m_ServerListEntiers

ref array<ref ServerBrowserEntry> m_ServerListEntiers
protected

◆ m_ServerListEntries

ref array<ref ServerBrowserEntry> m_ServerListEntries
protected

◆ m_ServersEstimateCount

int m_ServersEstimateCount
protected

◆ m_TempTime

ref TStringArray m_TempTime = new TStringArray
protected

◆ m_TimeLastServerRefresh

int m_TimeLastServerRefresh
protected

◆ m_TimeLastServerRefreshHoldButton

int m_TimeLastServerRefreshHoldButton
protected

◆ m_TotalServersCount

int m_TotalServersCount
protected

◆ m_WidgetNavFilters

Widget m_WidgetNavFilters
private

◆ m_WidgetNavServers

Widget m_WidgetNavServers
private

◆ PAGES_BUTTONS_COUNT

const int PAGES_BUTTONS_COUNT = 10
protected

◆ SERVERS_VISIBLE_COUNT

const int SERVERS_VISIBLE_COUNT = 24
protected

Объявления и описания членов классов находятся в файлах: