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

◆ LoadExtraEntries()

override void ServerBrowserTabPc::LoadExtraEntries ( int index)
inlineprotected

См. определение в файле ServerBrowserFavoritesTabPc.c строка 13

14 {
15 array<ref Param2<string, CachedServerInfo>> relevantCachedInfo = new array<ref Param2<string, CachedServerInfo>>();
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
57 GetServersResultRow offlineRow = new GetServersResultRow();
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 }
Param4< string, string, int, int > CachedServerInfo
Определения BiosLobbyService.c:2
int m_TotalLoadedServers
Определения ServerBrowserTab.c:49
string m_CurrentSelectedServer
Определения ServerBrowserTab.c:55
ServerBrowserMenuNew m_Menu
Определения ServerBrowserTab.c:37
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
string GetQueryEndPoint(CachedServerInfo cachedInfo)
Определения ServerBrowserFavoritesTabPc.c:95
string GetConnEndPoint(CachedServerInfo cachedInfo)
Определения ServerBrowserFavoritesTabPc.c:88
ref array< ref CachedServerInfo > m_CachedFavoriteServerInfo
Определения ServerBrowserFavoritesTabPc.c:4

Перекрестные ссылки GetConnEndPoint(), GetQueryEndPoint(), m_CachedFavoriteServerInfo, m_CurrentSelectedServer, GetServersResultRow::m_Favorite, GetServersResultRow::m_HostIp, GetServersResultRow::m_HostPort, GetServersResultRow::m_Id, GetServersResultRow::m_IsSelected, m_Menu, GetServersResultRow::m_Name, m_OnlineFavServers, m_PageIndex, GetServersResultRow::m_SteamQueryPort и m_TotalLoadedServers.

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