3 private bool m_IsFilterChanged;
4 private bool m_IsFilterFocused;
5 protected bool m_MouseKeyboardControlled
7 private Widget m_WidgetNavFilters;
8 private Widget m_WidgetNavServers;
26 private bool m_IsDetailsFocused;
28 protected override void Construct(Widget parent, ServerBrowserMenuNew menu,
TabType type)
30 m_Root =
g_Game.GetWorkspace().CreateWidgets(
"gui/layouts/new_ui/server_browser/xbox/server_browser_tab_console_pages.layout", parent);
61 m_WidgetNavFilters =
m_Root.FindAnyWidget(
"filters_root_nav_wrapper");
62 m_WidgetNavServers =
m_Root.FindAnyWidget(
"server_list_root_nav_wrapper");
64 #ifdef PLATFORM_MSSTORE
66 Widget keyboard_button =
m_Root.FindAnyWidget(
"keyboard_button");
68 keyboard_button.Show(
false);
77 m_Root.FindAnyWidget(
"servers_navigation_page_prev_icon_xbox").Show(
false);
78 m_Root.FindAnyWidget(
"servers_navigation_page_next_icon_xbox").Show(
false);
82 m_Root.FindAnyWidget(
"servers_navigation_page_prev_icon_ps4" ).Show(
false);
83 m_Root.FindAnyWidget(
"servers_navigation_page_next_icon_ps4" ).Show(
false);
95 m_Filters =
new ServerBrowserFilterContainer(
m_Root.FindAnyWidget(
"filters_content"),
this);
113 m_Details =
new ServerBrowserDetailsContainer(
m_Root.FindAnyWidget(
"details_content"),
this);
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 );
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 );
137 switch (pInputDeviceType)
142 m_WidgetNavFilters.Show(m_IsFilterFocused || m_IsDetailsFocused);
145 m_WidgetNavServers.Show((!m_IsFilterFocused && !m_IsDetailsFocused));
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;
158 if (
g_Game.GetInput().IsEnabledMouseAndKeyboardEvenOnServer())
161 m_WidgetNavFilters.Show(
false);
162 m_WidgetNavServers.Show(
false);
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;
193 LoadEntries( result_list.m_Page, result_list.m_Results );
204 msg =
"#server_browser_tab_unable_to_get_server";
216 entry.Darken(entry.GetRoot(), 0, 0);
218 SetFocus(entry.GetRoot());
226 ServerBrowserEntry entry;
246 string ipPort = result.GetIpPort();
247 bool isFavorited =
m_Menu.IsFavorited(ipPort);
250 entry.SetIsOnline(
true);
251 entry.FillInfo( result );
252 entry.SetFavorite(isFavorited);
279 if (
m_Filters.m_PreviouslyPlayedFilter.IsSet())
281 bool is_visited =
g_Game.IsVisited(result.m_HostIp, result.m_HostPort);
282 if (!is_visited &&
m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
285 if (is_visited && !
m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
289 return super.PassFilter(result);
294 ServerBrowserEntry entry;
304 entry =
new ServerBrowserEntry(
m_ServerList, index,
this );
320 m_IsFilterChanged =
true;
345 m_IsFilterChanged =
false;
357 super.ResetFilters();
359 m_IsFilterChanged =
false;
364 if ( m_IsFilterChanged )
369 m_IsFilterChanged =
false;
386 int currentTime =
g_Game.GetTime();
391 if (m_IsFilterChanged)
408 case SelectedPanel.BROWSER:
416 case SelectedPanel.FILTERS:
429 if (!m_IsFilterFocused && !m_IsDetailsFocused)
443 if (!m_IsFilterFocused && !m_IsDetailsFocused)
445 int currentTime =
g_Game.GetTime();
464 if (!m_IsFilterFocused && !m_IsDetailsFocused)
478 if (!m_IsFilterFocused && !m_IsDetailsFocused)
480 int currentTime =
g_Game.GetTime();
514 case SelectedPanel.BROWSER:
526 case SelectedPanel.DETAILS:
527 case SelectedPanel.FILTERS:
549 super.ShowServerDetails();
564 if (!m_MouseKeyboardControlled)
566 m_WidgetNavFilters.Show(
true);
567 m_WidgetNavServers.Show(
false);
571 m_IsFilterFocused =
true;
572 m_IsDetailsFocused =
false;
584 if (!m_MouseKeyboardControlled)
586 m_WidgetNavFilters.Show(
true);
587 m_WidgetNavServers.Show(
false);
591 m_IsDetailsFocused =
true;
592 m_IsFilterFocused =
false;
601 if (!m_MouseKeyboardControlled)
603 m_WidgetNavFilters.Show(
false);
606 m_WidgetNavServers.Show(
true);
611 if (entries && entries.Count() > 0)
613 string entryKey = entries.Get(0).GetIpPort();
621 m_Menu.UpdateAButtonLabel(
"#str_serverbrowserroot_toolbar_bg_consoletoolbar_connect_connecttext0");
622 m_Menu.ShowThumbRButton(
true);
627 m_Menu.ShowAButton(
false);
628 m_Menu.ShowThumbRButton(
false);
631 m_IsFilterFocused =
false;
632 m_IsDetailsFocused =
false;
640 Widget w_filters =
m_Root.FindAnyWidget(
"filters_content");
641 Widget w_content =
m_Root.FindAnyWidget(
"server_list_scroller");
642 w_content.Enable( !enable );
646 SetFocus( ButtonWidget.Cast(w_filters.FindWidget(
"sort_button")) );
652 Widget w_filters =
m_Root.FindAnyWidget(
"filters_content");
653 Widget w_content =
m_Root.FindAnyWidget(
"server_list_scroller");
654 w_content.Enable( enable );
659 TextWidget wgt_page_stat = TextWidget.Cast(
m_Root.FindAnyWidget(
"servers_navigation_page_status" ) );
663 if ( (!m_IsFilterFocused && !m_IsDetailsFocused) && (
m_PagesCount > 1) && !m_MouseKeyboardControlled )
682 override bool OnClick(Widget w,
int x,
int y,
int button)
684 super.OnClick(w,
x,
y, button);
742 w.SetColor(
ARGB( 255, 200, 0, 0) );
757 if ( w.IsInherited( ButtonWidget ) )
759 ButtonWidget button = ButtonWidget.Cast( w );
760 button.SetTextColor(
ARGB( 255, 255, 255, 255 ) );
762 else if ( !w.IsInherited( EditBoxWidget ) )
764 w.SetColor(
ARGB( 0, 255, 255, 255 ) );
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" ) );
772 Widget option = Widget.Cast( w.FindAnyWidget( w.GetName() +
"_option_wrapper" ) );
776 text1.SetColor(
ARGB( 255, 255, 255, 255 ) );
781 text2.SetColor(
ARGB( 255, 255, 255, 255 ) );
786 text3.SetColor(
ARGB( 255, 255, 255, 255 ) );
792 image.SetColor(
ARGB( 255, 255, 255, 255 ) );
797 option.SetColor(
ARGB( 150, 255, 255, 255 ) );
803 #ifdef PLATFORM_WINDOWS
807 ButtonWidget button = ButtonWidget.Cast( w );
810 button.SetTextColor(
ColorManager.COLOR_DISABLED_TEXT );
821 m_Menu.UpdateYButtonLabel(
"#server_browser_tab_server #STR_server_browser_menu_server_filters");
837 m_Menu.UpdateYButtonLabel(
"#server_details_header");
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
EBiosError
Possible Error codes for bios API. This is the list of errors that can be returned from bios API....
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 void RefreshServerList()
override bool PassFilter(GetServersResultRow result)
override void RefreshList()
override void LoadExtraEntries(int index)
override void OnLoadServersAsyncFinished()
override void SetFocusFilters()
override void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
ref array< ref ServerBrowserEntry > m_ServerListEntiers
override void PressThumbRight()
override void PressSholderRight()
override void ShowServerDetails()
override void ColorDisable(Widget w)
override void ApplyFilters()
override bool OnClick(Widget w, int x, int y, int button)
override void SwitchToDetails(bool focus=true)
ServerBrowserEntry GetServerEntryByIndex(int index)
TextWidget m_PnlPagesLoadingText
override void SwitchToFilters(bool focus=true)
int m_TimeLastServerRefresh
Widget m_ButtonPageRightImg
override void ColorNormal(Widget w)
override void ResetFilters()
int m_ServersEstimateCount
override bool PassFilter(GetServersResultRow result)
Widget m_ButtonPageLeftImg
int m_TimeLastServerRefreshHoldButton
override void RefreshList()
override void OnLoadServersAsyncConsole(GetServersResult result_list, EBiosError error, string response)
override void PressSholderLeft()
override void OnFilterChanged()
void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
void SetEnableServers(bool enable)
override void OnPressShoulder()
override void RightRelease()
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
void SetEnableFilters(bool enable)
override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
void ShowHideConsoleWidgets()
override void ColorHighlight(Widget w)
void OnLoadServersAsyncFinished()
override void RightHold()
bool CanRefreshServerList()
override void LeftRelease()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
ErrorCategory
ErrorCategory - To decide what ErrorHandlerModule needs to be called and easily identify where it cam...
int ARGB(int a, int r, int g, int b)
ref ServerBrowserFilterContainer m_Filters
ref map< ESortType, ref array< ref GetServersResultRow > > m_EntriesSorted
Widget m_FilterSearchText
TextWidget m_RightAreaHeaderText
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)
ScrollWidget m_ServerListScroller
ServerBrowserMenuNew m_Menu
void SwitchToFilters(bool focus=true)
SelectedPanel m_SelectedPanel
ButtonWidget m_BtnPagePrev
SpacerBaseWidget m_ServerList
Widget m_FilterSearchTextBox
ref ServerBrowserDetailsContainer m_Details
ref set< string > m_OnlineFavServers
void SetCurrentPage(int page_num)
ButtonWidget m_BtnShowDetails