18enum ServerBrowserRightAreaView
35 protected ref ServerBrowserFilterContainer
m_Filters;
37 protected ServerBrowserMenuNew
m_Menu;
87 protected ref ServerBrowserDetailsContainer
m_Details;
112 if (
GetGame().GetContentDLCService())
130 case EDLCId.DLC_FROSTLINE:
133 foreach (ServerBrowserEntry entry : serverEntries)
135 entry.RefreshDLCIcon();
153 Widget root = entry.GetRoot();
154 Widget first_child = root.GetParent().GetChildren();
155 Widget last_child = first_child;
158 if ( last_child.GetSibling() )
159 last_child = last_child.GetSibling();
164 root.GetParent().Update();
170 float bottom_pos =
y + y_s;
172 root.GetScreenPos( x_l, y_l );
173 root.GetScreenSize( x_s, y_s );
175 if ( root == first_child )
179 else if ( root == last_child )
183 else if ( y_l + y_s >= bottom_pos )
208 m_Menu.FilterFocus(
false);
220 m_Menu.DetailsFocus(
false);
226 m_Menu.DetailsFocus(
true);
236 m_Menu.ServerListFocus(focus, favorite);
253 #ifdef PLATFORM_CONSOLE
258 aButtonLabel =
"#ps4_ingame_menu_select";
260 aButtonLabel =
"#layout_xbox_ingame_menu_select";
265 aButtonLabel =
"#dialog_change";
268 m_Menu.UpdateAButtonLabel(aButtonLabel);
369 Widget sibling = focused.GetSibling();
373 if ( focused.GetName() ==
"server_browser_list_entry_root" )
378 SetFocus( focused.GetParent().GetSibling().GetChildren() );
385 if ( focused && focused.GetName() ==
"server_browser_list_entry_root" )
387 Widget sibling = focused.GetParent().GetChildren();
388 if ( focused == sibling )
393 if ( sibling && sibling.GetSibling() == focused )
399 sibling = sibling.GetSibling();
435 m_Menu.AddFavoritesToFilter( input );
451 m_Menu.DeselectCurrentServer();
455 #ifndef PLATFORM_WINDOWS
462 #ifdef PLATFORM_CONSOLE
504 #ifdef PLATFORM_CONSOLE
515 m_Menu.SelectServer(server);
586 return "currentNumberPlayers";
607 ServerBrowserEntry entry;
610 entry.SetFavorite(
false );
634 if ( w.IsInherited( ButtonWidget ) )
636 ButtonWidget button = ButtonWidget.Cast( w );
637 button.SetTextColor(
ARGB( 255, 200, 0, 0 ) );
640 w.SetColor(
ARGB( 255, 0, 0, 0) );
645 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() +
"_image" ) );
646 Widget option =
Widget.Cast( w.FindAnyWidget( w.GetName() +
"_option_wrapper" ) );
647 Widget option_label = w.FindAnyWidget(
"option_label" );
651 text1.SetColor(
ARGB( 255, 255, 0, 0 ) );
656 text2.SetColor(
ARGB( 255, 255, 0, 0 ) );
661 text3.SetColor(
ARGB( 255, 255, 0, 0 ) );
667 image.SetColor(
ARGB( 255, 200, 0, 0 ) );
672 option.SetColor(
ARGB( 255, 255, 0, 0 ) );
677 option_label.SetColor(
ARGB( 255, 255, 0, 0 ) );
688 if ( w.IsInherited( ButtonWidget ) )
690 ButtonWidget button = ButtonWidget.Cast( w );
691 button.SetTextColor(
ARGB( 255, 255, 255, 255 ) );
697 ImageWidget image = ImageWidget.Cast( w.FindAnyWidget( w.GetName() +
"_image" ) );
698 Widget option = w.FindAnyWidget( w.GetName() +
"_option_wrapper" );
699 Widget option_label = w.FindAnyWidget(
"option_label" );
703 text1.SetColor(
ARGB( 255, 255, 255, 255 ) );
708 text2.SetColor(
ARGB( 255, 255, 255, 255 ) );
713 text3.SetColor(
ARGB( 255, 255, 255, 255 ) );
719 image.SetColor(
ARGB( 255, 255, 255, 255 ) );
724 option.SetColor(
ARGB( 150, 255, 255, 255 ) );
729 option_label.SetColor(
ARGB( 255, 255, 255, 255 ) );
735 #ifdef PLATFORM_WINDOWS
741 ButtonWidget button = ButtonWidget.Cast( w );
753 case SelectedPanel.BROWSER:
765 case SelectedPanel.DETAILS:
770 case SelectedPanel.FILTERS:
784 m_Details.SetDetails(server_info, online);
EBiosError
Possible Error codes for bios API. This is the list of errors that can be returned from bios API....
void LoadExtraEntries(int index)
void ServerBrowserTab(Widget parent, ServerBrowserMenuNew menu, TabType type)
ref ServerBrowserFilterContainer m_Filters
ref map< ESortType, ref array< ref GetServersResultRow > > m_EntriesSorted
void OnDetailsFocusLost(Widget w)
Widget m_FilterSearchText
void SelectServer(ServerBrowserEntry server)
TextWidget m_RightAreaHeaderText
ServerBrowserEntry m_SelectedServer
void ButtonDisable(Widget w)
ref GetServersInput m_CurrentFilterInput
void SwitchRightAreaView()
void ServerListFocus(bool focus, bool favorite)
ButtonWidget m_BtnPageNext
ref map< ESortType, ESortOrder > m_SortInverted
bool IsPingInRange(int ping, string max_ping)
ButtonWidget m_BtnShowFilters
ref map< string, ref ServerBrowserEntry > m_EntryWidgets
bool GetIsServerLoadingFinished()
void ScrollToEntry(ServerBrowserEntry entry)
void Connect(ServerBrowserEntry server)
ScrollWidget m_ServerListScroller
string m_CurrentSelectedServer
ServerBrowserMenuNew m_Menu
ref map< string, ref array< string > > m_EntryMods
SelectedPanel m_SelectedPanel
ServerBrowserEntry GetSelectedServer()
void Unfavorite(string uid)
ButtonWidget m_BtnPagePrev
void ButtonEnable(Widget w)
SpacerBaseWidget m_ServerList
void OnDetailsFocus(Widget w)
void AddFavoritesToFilter(GetServersInput input)
void SetServerDetails(GetServersResultRow server_info, bool online)
override bool OnFocusLost(Widget w, int x, int y)
Widget m_FilterSearchTextBox
ref ServerBrowserDetailsContainer m_Details
override bool OnFocus(Widget w, int x, int y)
ref set< string > m_OnlineFavServers
void SetCurrentPage(int page_num)
ButtonWidget m_BtnShowDetails
void OnDLCChange(EDLCId dlcId)
ServerBrowserMenuNew GetRootMenu()
proto native ContentDLC GetContentDLCService()
Return DLC service (service for entitlement keys for unlock content)
static int COLOR_DISABLED_TEXT
ref ScriptInvoker m_OnChange
void(EDLCId dlcId)
GetServersResult the output structure of the GetServers operation.
GetServersResultRow the output structure of the GetServers operation that represents one game server.
static void LoadServers(notnull GetServersInput inputValues)
proto bool Remove(func fn, int flags=EScriptInvokerRemoveFlags.ALL)
remove specific call from list
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
override void OnFilterFocus(Widget w)
override void PressThumbRight()
override void OnFilterFocusLost(Widget w)
override void PressSholderRight()
override bool IsFocusable(Widget w)
override void ShowServerDetails()
override void ColorDisable(Widget w)
override void ApplyFilters()
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
override void SwitchToDetails(bool focus=true)
override void SetSort(ESortType type, ESortOrder order)
override void SwitchToFilters(bool focus=true)
override void ColorNormal(Widget w)
override int AddSorted(GetServersResultRow entry)
override void ResetFilters()
override bool PassFilter(GetServersResultRow result)
override void RefreshList()
override void OnLoadServersAsyncConsole(GetServersResult result_list, EBiosError error, string response)
override void UpdateServerList()
override void PressSholderLeft()
override void OnFilterChanged()
override bool OnMouseEnter(Widget w, int x, int y)
override void OnPressShoulder()
override void RightRelease()
override void OnLoadServerModsAsync(string server_id, array< string > mods)
override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
override void ColorHighlight(Widget w)
override void OnLoadServersAsyncPC(GetServersResult result_list, EBiosError error, string response)
override void RightHold()
override void LeftRelease()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
proto native int Length()
Returns length of string.
proto native int ToInt()
Converts string to integer.
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
int ARGB(int a, int r, int g, int b)