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

◆ ParseText()

CfgParam PluginFileHandler::ParseText ( string text)
inlineprivate

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

204 {
205 string param_name = STRING_EMPTY;
206 string param_value = text.Trim();;
207 int text_type = GetTextType(param_value);
208
209 //Log("ParseText -> text_type: "+itoa(text_type));
210
211 if ( text_type == CFG_TYPE_PARAM )
212 {
213 int pos = param_value.IndexOf("=");
214
215 if ( pos > 0 )
216 {
217 param_name = param_value.Substring(0, pos).Trim();
218 int pos_end = param_value.Length() - pos;
219 param_value = param_value.Substring(pos + 1, pos_end - 1).Trim();
220
221 //Log("ParseText -> param -> "+param_name+" = "+param_value);
222
223 CfgParam param = ParseText(param_value);
224 param.SetName(param_name);
225
226 return param;
227 }
228 }
229 else if ( text_type == CFG_TYPE_ARRAY )
230 {
231 //Log("ParseText -> array -> "+param_name+" = "+param_value);
232
233 CfgParamArray param_array = new CfgParamArray(param_name);
234 array<ref CfgParam> array_params = ParseToValueArray(param_value);
235 param_array.SetParams(array_params);
236
237 return param_array;
238 }
239 else if ( text_type == CFG_TYPE_STRING )
240 {
241 //Log("ParseText -> string -> "+param_value);
242
243 CfgParamString param_string = new CfgParamString(param_name);
244 param_string.SetValue( ParseToValueString(param_value) );
245
246 return param_string;
247 }
248 else if ( text_type == CFG_TYPE_INT )
249 {
250 //Log("ParseText -> int -> "+param_name+" = "+param_value);
251
252 CfgParamInt param_int = new CfgParamInt(param_name);
253 param_int.SetValue( ParseToValueInt(param_value) );
254
255 return param_int;
256 }
257 else if ( text_type == CFG_TYPE_FLOAT )
258 {
259 //Log("ParseText -> float -> "+param_name+" = "+param_value);
260
261 CfgParamFloat param_float = new CfgParamFloat(param_name);
262 param_float.SetValue( ParseToValueFloat(param_value) );
263
264 return param_float;
265 }
266 else if ( text_type == CFG_TYPE_BOOL )
267 {
268 //Log("ParseText -> bool -> "+param_name+" = "+param_value);
269
270 CfgParamBool param_bool = new CfgParamBool(param_name);
271 param_bool.SetValue( ParseToValueBool(param_value) );
272
273 return param_bool;
274 }
275
276 //Log("ParseText -> none -> "+param_name+" = "+param_value);
277
278 return NULL;
279 }
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:281
CfgParam ParseText(string text)
Определения PluginConfigHandler.c:203
float ParseToValueFloat(string param_value)
Определения PluginConfigHandler.c:401
string ParseToValueString(string param_value)
Определения PluginConfigHandler.c:396
int ParseToValueInt(string param_value)
Определения PluginConfigHandler.c:406
array< ref CfgParam > ParseToValueArray(string param_value)
Определения PluginConfigHandler.c:421
bool ParseToValueBool(string param_value)
Определения PluginConfigHandler.c:411
const string STRING_EMPTY
Определения 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().