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

◆ ParseText()

CfgParam PluginFileHandler::ParseText ( string text)
inlineprivate

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

199 {
200 string param_name = STRING_EMPTY;
201 string param_value = text.Trim();;
202 int text_type = GetTextType(param_value);
203
204 //Log("ParseText -> text_type: "+itoa(text_type));
205
206 if ( text_type == CFG_TYPE_PARAM )
207 {
208 int pos = param_value.IndexOf("=");
209
210 if ( pos > 0 )
211 {
212 param_name = param_value.Substring(0, pos).Trim();
213 int pos_end = param_value.Length() - pos;
214 param_value = param_value.Substring(pos + 1, pos_end - 1).Trim();
215
216 //Log("ParseText -> param -> "+param_name+" = "+param_value);
217
218 CfgParam param = ParseText(param_value);
219 param.SetName(param_name);
220
221 return param;
222 }
223 }
224 else if ( text_type == CFG_TYPE_ARRAY )
225 {
226 //Log("ParseText -> array -> "+param_name+" = "+param_value);
227
228 CfgParamArray param_array = new CfgParamArray(param_name);
229 array<ref CfgParam> array_params = ParseToValueArray(param_value);
230 param_array.SetParams(array_params);
231
232 return param_array;
233 }
234 else if ( text_type == CFG_TYPE_STRING )
235 {
236 //Log("ParseText -> string -> "+param_value);
237
238 CfgParamString param_string = new CfgParamString(param_name);
239 param_string.SetValue( ParseToValueString(param_value) );
240
241 return param_string;
242 }
243 else if ( text_type == CFG_TYPE_INT )
244 {
245 //Log("ParseText -> int -> "+param_name+" = "+param_value);
246
247 CfgParamInt param_int = new CfgParamInt(param_name);
248 param_int.SetValue( ParseToValueInt(param_value) );
249
250 return param_int;
251 }
252 else if ( text_type == CFG_TYPE_FLOAT )
253 {
254 //Log("ParseText -> float -> "+param_name+" = "+param_value);
255
256 CfgParamFloat param_float = new CfgParamFloat(param_name);
257 param_float.SetValue( ParseToValueFloat(param_value) );
258
259 return param_float;
260 }
261 else if ( text_type == CFG_TYPE_BOOL )
262 {
263 //Log("ParseText -> bool -> "+param_name+" = "+param_value);
264
265 CfgParamBool param_bool = new CfgParamBool(param_name);
266 param_bool.SetValue( ParseToValueBool(param_value) );
267
268 return param_bool;
269 }
270
271 //Log("ParseText -> none -> "+param_name+" = "+param_value);
272
273 return NULL;
274 }
const int CFG_TYPE_BOOL
Определения CfgParam.c:4
const int CFG_TYPE_ARRAY
Определения CfgParam.c:5
const int CFG_TYPE_PARAM
Определения CfgParam.c:6
const int CFG_TYPE_INT
Определения CfgParam.c:2
const int CFG_TYPE_STRING
Определения CfgParam.c:1
const int CFG_TYPE_FLOAT
Определения CfgParam.c:3
void SetName(string param_name)
Определения CfgParam.c:18
int GetTextType(string text)
Определения PluginConfigHandler.c:276
CfgParam ParseText(string text)
Определения PluginConfigHandler.c:198
float ParseToValueFloat(string param_value)
Определения PluginConfigHandler.c:396
string ParseToValueString(string param_value)
Определения PluginConfigHandler.c:391
int ParseToValueInt(string param_value)
Определения PluginConfigHandler.c:401
array< ref CfgParam > ParseToValueArray(string param_value)
Определения PluginConfigHandler.c:416
bool ParseToValueBool(string param_value)
Определения PluginConfigHandler.c:406
const string STRING_EMPTY
Определения 1_Core/DayZ/constants.c:54
proto native int Length()
Returns length of string.
proto string Trim()
Returns trimmed string with removed leading and trailing whitespaces.
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
proto native int IndexOf(string sample)
Finds 'sample' in 'str'. Returns -1 when not found.

Перекрестные ссылки CFG_TYPE_ARRAY, CFG_TYPE_BOOL, CFG_TYPE_FLOAT, CFG_TYPE_INT, CFG_TYPE_PARAM, CFG_TYPE_STRING, GetTextType(), string::IndexOf(), string::Length(), ParseText(), ParseToValueArray(), ParseToValueBool(), ParseToValueFloat(), ParseToValueInt(), ParseToValueString(), CfgParam::SetName(), STRING_EMPTY, string::Substring() и string::Trim().

Используется в LoadConfigFile(), ParseText() и ParseToValueArray().