7 protected bool m_MouseKeyboardControlled
32 m_Root =
g_Game.GetWorkspace().CreateWidgets(
"gui/layouts/new_ui/server_browser/xbox/server_browser_tab_console_pages.layout", parent);
66 #ifdef PLATFORM_MSSTORE
68 Widget keyboard_button =
m_Root.FindAnyWidget(
"keyboard_button");
70 keyboard_button.Show(
false);
79 m_Root.FindAnyWidget(
"servers_navigation_page_prev_icon_xbox").Show(
false);
80 m_Root.FindAnyWidget(
"servers_navigation_page_next_icon_xbox").Show(
false);
84 m_Root.FindAnyWidget(
"servers_navigation_page_prev_icon_ps4" ).Show(
false);
85 m_Root.FindAnyWidget(
"servers_navigation_page_next_icon_ps4" ).Show(
false);
97 m_Filters =
new ServerBrowserFilterContainer(
m_Root.FindAnyWidget(
"filters_content"),
this);
115 m_Details =
new ServerBrowserDetailsContainer(
m_Root.FindAnyWidget(
"details_content"),
this);
117 #ifdef DIAG_DEVELOPER
131 m_Root.FindAnyWidget(
"filters_root_nav_img_lb_xbox" ).Show( is_xbox );
132 m_Root.FindAnyWidget(
"filters_root_nav_img_rb_xbox" ).Show( is_xbox );
133 m_Root.FindAnyWidget(
"server_list_root_nav_img_lb_xbox" ).Show( is_xbox );
134 m_Root.FindAnyWidget(
"server_list_root_nav_img_rb_xbox" ).Show( is_xbox );
136 m_Root.FindAnyWidget(
"filters_root_nav_img_l1_ps4" ).Show( !is_xbox );
137 m_Root.FindAnyWidget(
"filters_root_nav_img_r1_ps4" ).Show( !is_xbox );
138 m_Root.FindAnyWidget(
"server_list_root_nav_img_l1_ps4" ).Show( !is_xbox );
139 m_Root.FindAnyWidget(
"server_list_root_nav_img_r1_ps4" ).Show( !is_xbox );
144 switch (pInputDeviceType)
148 m_MouseKeyboardControlled =
false;
161 m_Root.FindAnyWidget(
"spacer2").Show(
false);
162 m_Root.FindAnyWidget(
"spacer5").Show(
false);
163 m_Menu.GetLayoutRoot().FindAnyWidget(
"play_panel_root").Show(
false);
164 m_Menu.GetLayoutRoot().FindAnyWidget(
"MouseAndKeyboardWarning").Show(
false);
172 if (
g_Game.GetInput().IsEnabledMouseAndKeyboardEvenOnServer())
176 m_MouseKeyboardControlled =
true;
183 m_Root.FindAnyWidget(
"spacer").Show(!isFavoriteTab);
184 m_Root.FindAnyWidget(
"spacer2").Show(
true);
185 m_Root.FindAnyWidget(
"spacer5").Show(!isFavoriteTab);
186 m_Menu.GetLayoutRoot().FindAnyWidget(
"play_panel_root").Show(
true);
187 m_Menu.GetLayoutRoot().FindAnyWidget(
"MouseAndKeyboardWarning").Show(
true);
198 #ifdef DIAG_DEVELOPER
199 if (m_DummyServersEnabled)
218 #ifdef DIAG_DEVELOPER
219 if (m_DummyServersEnabled)
230 int resultCount = m_DummyServers.m_Results.Count();
231 if (endIndex > resultCount)
233 endIndex = resultCount;
237 for (
int i = startIndex; i < endIndex; ++i)
239 tempDummyServerResult.Insert(m_DummyServers.m_Results[i]);
262 msg =
"#server_browser_tab_unable_to_get_server";
274 entry.Darken(entry.GetRoot(), 0, 0);
284 ServerBrowserEntry entry;
304 string ipPort = result.GetIpPort();
305 bool isFavorited =
m_Menu.IsFavorited(ipPort);
308 entry.SetIsOnline(
true);
309 entry.FillInfo( result );
310 entry.SetFavorite(isFavorited);
337 if (
m_Filters.m_PreviouslyPlayedFilter.IsSet())
340 if (!is_visited &&
m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
343 if (is_visited && !
m_Filters.m_PreviouslyPlayedFilter.IsEnabled())
347 return super.PassFilter(result);
352 ServerBrowserEntry entry;
362 entry =
new ServerBrowserEntry(
m_ServerList, index,
this );
388 #ifdef DIAG_DEVELOPER
389 if (m_DummyServersEnabled)
423 super.ResetFilters();
447 #ifdef DIAG_DEVELOPER
460 int currentTime =
g_Game.GetTime();
461 #ifdef DIAG_DEVELOPER
469 #ifdef DIAG_DEVELOPER
490 case SelectedPanel.BROWSER:
498 case SelectedPanel.FILTERS:
527 int currentTime =
g_Game.GetTime();
562 int currentTime =
g_Game.GetTime();
596 case SelectedPanel.BROWSER:
608 case SelectedPanel.DETAILS:
609 case SelectedPanel.FILTERS:
631 super.ShowServerDetails();
646 if (!m_MouseKeyboardControlled)
666 if (!m_MouseKeyboardControlled)
686 if (!m_MouseKeyboardControlled)
696 if (entries && entries.Count() > 0)
698 string entryKey = entries.Get(0).GetIpPort();
706 m_Menu.UpdateAButtonLabel(
"#str_serverbrowserroot_toolbar_bg_consoletoolbar_connect_connecttext0");
707 m_Menu.ShowThumbRButton(
true);
712 m_Menu.ShowAButton(
false);
713 m_Menu.ShowThumbRButton(
false);
725 Widget w_filters =
m_Root.FindAnyWidget(
"filters_content");
726 Widget w_content =
m_Root.FindAnyWidget(
"server_list_scroller");
727 w_content.Enable( !enable );
731 SetFocus( ButtonWidget.Cast(w_filters.FindWidget(
"sort_button")) );
737 Widget w_filters =
m_Root.FindAnyWidget(
"filters_content");
738 Widget w_content =
m_Root.FindAnyWidget(
"server_list_scroller");
739 w_content.Enable( enable );
752 if (currentPage > pagesCount)
753 currentPage = pagesCount;
755 wgtPageStat.SetText(currentPage.ToString() +
" / " + pagesCount.ToString());
757 bool canLeft = currentPage > 1;
758 bool canRight = currentPage < pagesCount;
760 bool showMouseKeyboardPaging = m_MouseKeyboardControlled && (pagesCount > 1);
772 super.OnClick(w,
x,
y, button);
841 w.SetColor(
ARGB( 255, 200, 0, 0) );
856 if ( w.IsInherited( ButtonWidget ) )
858 ButtonWidget button = ButtonWidget.Cast( w );
859 button.SetTextColor(
ARGB( 255, 255, 255, 255 ) );
863 w.SetColor(
ARGB( 0, 255, 255, 255 ) );
869 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() +
"_image" ) );
871 Widget option =
Widget.Cast( w.FindAnyWidget( w.GetName() +
"_option_wrapper" ) );
875 text1.SetColor(
ARGB( 255, 255, 255, 255 ) );
880 text2.SetColor(
ARGB( 255, 255, 255, 255 ) );
885 text3.SetColor(
ARGB( 255, 255, 255, 255 ) );
891 image.SetColor(
ARGB( 255, 255, 255, 255 ) );
896 option.SetColor(
ARGB( 150, 255, 255, 255 ) );
902 #ifdef PLATFORM_WINDOWS
906 ButtonWidget button = ButtonWidget.Cast( w );
920 m_Menu.UpdateYButtonLabel(
"#server_browser_tab_server #STR_server_browser_menu_server_filters");
936 m_Menu.UpdateYButtonLabel(
"#server_details_header");
942 if (m_MouseKeyboardControlled)
961 protected void RefreshDummyList()
963 for (
int i = 0; i < m_ServerListEntiers.Count(); ++i)
965 m_ServerListEntiers[i].Show(
false);
970 array<ref GetServersResultRow> resultRows =
m_EntriesSorted.GetElement(j);
980 m_IsFilterChanged =
false;
994 m_Menu.DeselectCurrentServer();
1006 if (m_DummyServers && m_DummyServers.m_Results)
1008 for (
int k = 0; k < m_DummyServers.m_Results.Count(); ++k)
1010 GetServersResultRow row = m_DummyServers.m_Results[k];
1011 if (PassLocalFilters(row))
1013 filteredResults.Insert(row);
1018 m_TotalServersCount = filteredResults.Count();
1019 m_PagesCount = (m_TotalServersCount + SERVERS_VISIBLE_COUNT - 1) / SERVERS_VISIBLE_COUNT;
1020 if (m_PagesCount < 1)
1030 if (safePage > m_PagesCount)
1032 safePage = m_PagesCount;
1036 int startIndex = (safePage - 1) * SERVERS_VISIBLE_COUNT;
1037 int endIndex = Math.Min(startIndex + SERVERS_VISIBLE_COUNT, filteredResults.Count());
1040 for (
int i2 = startIndex; i2 < endIndex; ++i2)
1042 pageResults.Insert(filteredResults[i2]);
1047 UpdatePageButtons();
1050 override void OnDummyServersEnabledChanged()
1052 super.OnDummyServersEnabledChanged();
1061 override int GetServersVisibleCount()
1063 return SERVERS_VISIBLE_COUNT;
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
EBiosError
Possible Error codes for bios API.
array< ref GetServersResultRow > GetServersResultRowArray
static int COLOR_DISABLED_TEXT
The error handler itself, for managing and distributing errors to modules Manages the ErrorHandlerMod...
static proto string GetClientMessage(ErrorCategory category, int code, string additionalInfo="")
Gets the Client Message for specified error.
GetServersResult the output structure of the GetServers operation.
ref GetServersResultRowArray m_Results
GetServersResultRow the output structure of the GetServers operation that represents one game server.
override void SetFocusFilters()
override void LoadExtraEntries(int index)
override void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
override void RefreshList()
override void RefreshServerList()
override void OnLoadServersAsyncFinished()
override bool PassFilter(GetServersResultRow result)
int m_ServersEstimateCount
override void ColorDisable(Widget w)
void SetEnableServers(bool enable)
void OnLoadServersAsyncFinished()
override void OnFilterChanged()
Widget m_ButtonPageRightImg
override void RefreshList()
void ShowHideConsoleWidgets()
Widget m_ButtonPageLeftImg
bool CanRefreshServerList()
override void PressSholderLeft()
ServerBrowserEntry GetServerEntryByIndex(int index)
override void PressThumbRight()
TextWidget m_PnlPagesLoadingText
void SetEnableFilters(bool enable)
override void PressSholderRight()
override void ColorNormal(Widget w)
override void SwitchToFilters(bool focus=true)
override void ApplyFilters()
const int SERVERS_VISIBLE_COUNT
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
void LoadEntries(int cur_page_index, GetServersResultRowArray page_entries)
override void ShowServerDetails()
override void RightRelease()
override void SwitchToDetails(bool focus=true)
Widget m_WidgetNavServers
ref array< ref ServerBrowserEntry > m_ServerListEntiers
override bool PassFilter(GetServersResultRow result)
Widget m_WidgetNavFilters
override void LeftRelease()
override void RightHold()
override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
int m_TimeLastServerRefresh
override bool OnClick(Widget w, int x, int y, int button)
override void ResetFilters()
override void ColorHighlight(Widget w)
int m_TimeLastServerRefreshHoldButton
override void OnLoadServersAsyncConsole(GetServersResult result_list, EBiosError error, string response)
override void OnPressShoulder()
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