DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
MainMenuData.c
См. документацию.
2{
3 protected static ref JsonDataNewsList m_NewsData;
4 protected static ref array<ref ModInfo> m_AllMods;
6
8 {
9 if (!m_NewsData)
11
12 return m_NewsData;
13 }
14
16 {
17 if (!m_NewsData)
18 return null;
19
20 if (index > m_NewsData.News.Count() - 1)
21 {
22 ErrorEx(string.Format("Requested news article for index %1 but article count is %2. Index out of bounds!", index, m_NewsData.News.Count()));
23 return null;
24 }
25
26 return m_NewsData.News[index];
27 }
28
29 static void LoadMods()
30 {
31 if (!m_NewsData)
33
34 if (m_AllMods != null)
35 return;
36
38
39 g_Game.GetModInfos(m_AllMods);
40 if (m_AllMods.Count() > 0)
41 {
42 m_AllMods.Remove(m_AllMods.Count() - 1);
43 m_AllMods.Invert();
44 }
45
47
49 }
50
51 static void FilterDLCs(inout array<ref ModInfo> modArray)
52 {
53 if (!m_AllDlcsMap)
55 else
56 m_AllDlcsMap.Clear();
57
58 ModInfo info;
59 int count = modArray.Count();
60 for (int i = count - 1; i >= 0; i--)
61 {
62 info = modArray[i];
63 if (info.GetIsDLC())
64 {
65 string dlcName = info.GetName();
66 dlcName.ToLower();
67 dlcName.Replace("dayz ", "");
68 m_AllDlcsMap.Insert(dlcName, info);
69 }
70 }
71 }
72
73 static void CreateDLCArticles()
74 {
75 if (!m_AllDlcsMap)
76 {
77 ErrorEx("Failed to get DLC map data!", ErrorExSeverity.WARNING);
78 return;
79 }
80
81 if (!m_NewsData)
82 {
83 ErrorEx("Failed to get news data!", ErrorExSeverity.WARNING);
84 return;
85 }
86
87 for (int i = 0; i < m_AllDlcsMap.Count(); i++)
88 {
89 ModInfo info = m_AllDlcsMap.GetElement(i);
91
92 dlcArticle.categoryID = NewsCategory.DLCS;
93 dlcArticle.excerpt = info.GetOverview();
94 dlcArticle.title = info.GetName();
95 dlcArticle.fullUrl = info.GetAction();
96 string dlcName = info.GetName();
97 dlcName.ToLower();
98 dlcName.Replace("dayz ", "");
99 dlcArticle.dlcName = dlcName;
100 dlcArticle.coverImage = ModInfo.GetDLCImage(dlcName);
101 m_NewsData.News.Insert(dlcArticle);
102 }
103
105 JsonDataNewsArticle tempDLCArticle = new JsonDataNewsArticle;
106 tempDLCArticle.categoryID = NewsCategory.DLC_PROMO;
107 tempDLCArticle.title = "#dlc_news_badlands";
108 #ifdef PLATFORM_WINDOWS
109 tempDLCArticle.fullUrl = "https://store.steampowered.com/app/3816030";
110 #else
111 tempDLCArticle.fullUrl = "";
112 #endif
113 tempDLCArticle.dlcName = "badlands";
114 tempDLCArticle.coverImage = ModInfo.GetDLCImage(tempDLCArticle.dlcName);
115 m_NewsData.News.Insert(tempDLCArticle);
116 }
117
118 static void ClearAllDLCs()
119 {
120 m_AllMods = null;
121 }
122
124 static ModInfo GetDLCModInfoByName(string dlcName)
125 {
126 ModInfo modInfo;
127 m_AllDlcsMap.Find(dlcName, modInfo);
128 return modInfo;
129 }
130
133 {
134 return m_AllMods;
135 }
136}
DayZGame g_Game
Определения DayZGame.c:3942
int categoryID
Определения BiosLobbyService.c:8
string dlcName
Определения BiosLobbyService.c:11
string excerpt
Определения BiosLobbyService.c:17
string title
Определения BiosLobbyService.c:19
string coverImage
Определения BiosLobbyService.c:21
string fullUrl
Определения BiosLobbyService.c:22
Определения BiosLobbyService.c:6
static ref map< string, ref ModInfo > m_AllDlcsMap
Определения MainMenuData.c:5
static ref JsonDataNewsList m_NewsData
Определения MainMenuData.c:3
static void CreateDLCArticles()
Определения MainMenuData.c:73
static JsonDataNewsArticle GetNewsArticle(int index)
Определения MainMenuData.c:15
static JsonDataNewsList GetNewsData()
Определения MainMenuData.c:7
static void ClearAllDLCs()
Определения MainMenuData.c:118
static void LoadMods()
Определения MainMenuData.c:29
static ModInfo GetDLCModInfoByName(string dlcName)
DLCs only.
Определения MainMenuData.c:124
static ref array< ref ModInfo > m_AllMods
Определения MainMenuData.c:4
static array< ref ModInfo > GetAllMods()
All mods including DLCs.
Определения MainMenuData.c:132
static void FilterDLCs(inout array< ref ModInfo > modArray)
Определения MainMenuData.c:51
Определения MainMenuData.c:2
proto owned string GetAction()
proto owned string GetOverview()
proto bool GetIsDLC()
static string GetDLCImage(string name)
Определения ModInfo.c:24
proto owned string GetName()
Определения ModInfo.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения CachedEquipmentStorage.c:4
ErrorExSeverity
Определения EnDebug.c:62
enum ShapeType ErrorEx
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
proto int ToLower()
Changes string to lowercase. Returns length.