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

◆ LoadConfigFile() [2/2]

bool PluginFileHandler::LoadConfigFile ( )
inlineprivate

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

29 {
30 TStringArray file_content = GetFileContent();
31
32 string line_content = "";
33 string param_name = "";
34 string param_value = "";
35 TStringArray param_content;
36 int pos_sep = -1;
37
38 for ( int i = 0; i < file_content.Count(); ++i )
39 {
40 line_content = file_content.Get(i);
41
42 param_content = ParseTextToParameter(line_content);
43
44 if ( param_content.Count() == 0 )
45 {
46 PrintString(GetFileName()+"("+i.ToString()+"): Error in config -> Maybe missing '=' !");
47 return false;
48 }
49
50 param_name = param_content.Get(0);
51 param_value = param_content.Get(1);
52
53 //{{name = apple, damage = 0.5, quantity = 2},{name = banana, damage = 0.5, quantity = 2}}
54
55 TStringArray array_items = new TStringArray;
56 ParseTextToArray(param_value, array_items);
57 //{name = apple, damage = 0.5, quantity = 2}
58 //{name = banana, damage = 0.5, quantity = 2}
59
60 TStringArray array_content_raw = new TStringArray;
61
62 if ( array_items.Count() > 0 )
63 {
64 m_ConfigParamsArray.Set(param_name, array_items);
65
66 for ( int j = 0; j < array_items.Count(); ++j )
67 {
68 string array_content = array_items.Get(j);
69 //{name = apple, damage = 0.5, quantity = 2}
70
71 array_content_raw.Clear();
72
73 ParseTextToArray(array_content, array_content_raw);
74 //name = apple
75 //damage = 0.5
76 //quantity = 2
77
78 if ( array_content_raw.Count() > 0 )
79 {
80 if ( !m_ConfigParamsArrayInArray.Contains(param_name) )
81 {
82 m_ConfigParamsArrayInArray.Set(param_name, new array<ref map<string, string>>);
83 }
84
85 array<ref map<string, string>> params_in_array = m_ConfigParamsArrayInArray.Get(param_name);
87
88 for ( int k = 0; k < array_content_raw.Count(); ++k )
89 {
90 string params = array_content_raw.Get(k);
92
93 if ( p.Count() == 2 )
94 {
95 parameters.Set(p.Get(0), p.Get(1));
96 }
97 }
98
99 params_in_array.Insert(parameters);
100 }
101 }
102 }
103 else
104 {
105 m_ConfigParams.Set(param_name, param_value);
106 }
107 }
108
109 return true;
110 }
map
Определения ControlsXboxNew.c:4
TStringArray ParseTextToArray(string text, out TStringArray ret)
Определения PluginLocalProfile.c:243
override string GetFileName()
Определения PluginConfigHandler.c:17
ref map< string, ref array< ref map< string, string > > > m_ConfigParamsArrayInArray
Определения PluginLocalProfile.c:6
TStringArray ParseTextToParameter(string text)
Определения PluginLocalProfile.c:218
ref map< string, string > m_ConfigParams
Определения PluginLocalProfile.c:3
ref map< string, ref TStringArray > m_ConfigParamsArray
Определения PluginLocalProfile.c:4
array< string > TStringArray
Определения EnScript.c:685
void PrintString(string s)
Helper for printing out string expression. Example: PrintString("Hello " + var);.
Определения EnScript.c:345
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.

Перекрестные ссылки PluginLocalProfile::GetFileName(), m_ConfigParams, m_ConfigParamsArray, m_ConfigParamsArrayInArray, ParseTextToArray(), ParseTextToParameter(), PrintString() и string::ToString().