DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ServerBrowserFavoritesTabPc.c
См. документацию.
1class ServerBrowserFavoritesTabPc extends ServerBrowserTabPc
2{
3 // value = ip, name, connection port, query port
5
6 protected override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
7 {
9
10 super.Construct(parent, menu, type);
11 }
12
13 protected override void LoadExtraEntries(int index)
14 {
16 foreach (CachedServerInfo cachedInfo : m_CachedFavoriteServerInfo)
17 {
18 string serverId = GetConnEndPoint(cachedInfo);
19
20 // ensure the cached server is still favorited
21 if (!m_Menu.IsFavorited(GetQueryEndPoint(cachedInfo)))
22 {
23 continue;
24 }
25
26 if (m_OnlineFavServers.Find(serverId) > -1)
27 {
28 continue;
29 }
30
31 relevantCachedInfo.Insert(new Param2<string, CachedServerInfo>(serverId, cachedInfo));
32 }
33
34 // adding FAVORITED, OFFLINE servers to favorites tab
35 int totalServersAlreadyShown = m_PageIndex * SERVERS_VISIBLE_COUNT + index;
36 int startingIndex = totalServersAlreadyShown - m_TotalLoadedServers;
37 m_TotalLoadedServers += relevantCachedInfo.Count();
38 for (int i = startingIndex; i < relevantCachedInfo.Count(); ++i)
39 {
40 if (index >= SERVERS_VISIBLE_COUNT)
41 {
42 break;
43 }
44
45 Param2<string, CachedServerInfo> relevantEntry = relevantCachedInfo[i];
46
47 cachedInfo = relevantEntry.param2;
48 string ip = cachedInfo.param1;
49 string cachedName = cachedInfo.param2;
50 int connPort = cachedInfo.param3;
51 int queryPort = cachedInfo.param4;
52
53 // do NOT insert offlineRow into m_EntriesSorted[m_SortType]!!
54 // we assume that rows already in m_EntriesSorted[m_SortType] are ONLINE,
55 // if we add offline info to m_EntriesSorted[m_SortType] then we cannot differentiate
56 // between online and offline servers
58 offlineRow.m_Id = relevantEntry.param1;
59 offlineRow.m_Name = cachedName;
60 offlineRow.m_HostIp = ip;
61 offlineRow.m_SteamQueryPort = queryPort;
62 offlineRow.m_HostPort = connPort;
63 offlineRow.m_Favorite = true;
64 offlineRow.m_IsSelected = (offlineRow.m_Id == m_CurrentSelectedServer);
65
66 ServerBrowserEntry entry = GetServerEntryByIndex(index, offlineRow.m_Id);
67 entry.Show(true);
68 entry.SetIsOnline(false);
69 entry.FillInfo(offlineRow);
70 entry.UpdateEntry();
71
72 index++;
73 }
74 }
75
87
88 private string GetConnEndPoint(CachedServerInfo cachedInfo)
89 {
90 string ip = cachedInfo.param1;
91 int connPort = cachedInfo.param3;
92 return ip + ":" + connPort;
93 }
94
95 private string GetQueryEndPoint(CachedServerInfo cachedInfo)
96 {
97 string ip = cachedInfo.param1;
98 int queryPort = cachedInfo.param4;
99 return ip + ":" + queryPort;
100 }
101}
Param4< string, string, int, int > CachedServerInfo
Определения BiosLobbyService.c:2
ref GetServersInput m_CurrentFilterInput
Определения ServerBrowserTab.c:57
TabType
Определения ServerBrowserTab.c:2
int m_TotalLoadedServers
Определения ServerBrowserTab.c:49
string m_CurrentSelectedServer
Определения ServerBrowserTab.c:55
ServerBrowserMenuNew m_Menu
Определения ServerBrowserTab.c:37
void AddFavoritesToFilter(GetServersInput input)
Определения ServerBrowserTab.c:433
ref set< string > m_OnlineFavServers
Определения ServerBrowserTab.c:77
int m_PageIndex
Определения UiHintPanel.c:315
int m_SteamQueryPort
Определения BiosLobbyService.c:191
string m_Name
Определения BiosLobbyService.c:147
string m_Id
Определения BiosLobbyService.c:145
bool m_Favorite
Определения BiosLobbyService.c:193
int m_HostPort
Определения BiosLobbyService.c:150
string m_HostIp
Определения BiosLobbyService.c:149
bool m_IsSelected
Определения BiosLobbyService.c:175
GetServersResultRow the output structure of the GetServers operation that represents one game server.
Определения BiosLobbyService.c:144
static void LoadServers(notnull GetServersInput inputValues)
Определения OnlineServices.c:96
static void GetCachedFavServerInfo(array< ref CachedServerInfo > favServersInfoCache)
Определения OnlineServices.c:114
Определения OnlineServices.c:2
Определения PPEConstants.c:68
string GetQueryEndPoint(CachedServerInfo cachedInfo)
Определения ServerBrowserFavoritesTabPc.c:95
override void RefreshList()
Определения ServerBrowserFavoritesTabPc.c:76
string GetConnEndPoint(CachedServerInfo cachedInfo)
Определения ServerBrowserFavoritesTabPc.c:88
ref array< ref CachedServerInfo > m_CachedFavoriteServerInfo
Определения ServerBrowserFavoritesTabPc.c:4
override void LoadExtraEntries(int index)
Определения ServerBrowserFavoritesTabPc.c:13
override void Construct(Widget parent, ServerBrowserMenuNew menu, TabType type)
Определения ServerBrowserFavoritesTabPc.c:6
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.