23 for (
int j = 0; j < m_FileContent.Count(); j++ )
37 m_FileContent.Insert(s);
131 CfgParamArray param_array = CfgParamArray.Cast( param );
136 for (
int i = 0; i < params.Count(); ++i )
152 CfgParamString param_string = CfgParamString.Cast( param );
153 text +=
"\""+param_string.GetValue()+
"\"";
159 CfgParamInt param_int = CfgParamInt.Cast( param );
160 text += param_int.GetValue().
ToString();
166 CfgParamFloat param_float = CfgParamFloat.Cast( param );
167 string s = param_float.GetValue().ToString();
180 CfgParamBool param_bool = CfgParamBool.Cast( param );
182 if ( param_bool.GetValue() )
201 string param_value = text.
Trim();;
208 int pos = param_value.
IndexOf(
"=");
213 int pos_end = param_value.
Length() - pos;
214 param_value = param_value.
Substring(pos + 1, pos_end - 1).
Trim();
228 CfgParamArray param_array =
new CfgParamArray(param_name);
230 param_array.SetParams(array_params);
238 CfgParamString param_string =
new CfgParamString(param_name);
247 CfgParamInt param_int =
new CfgParamInt(param_name);
256 CfgParamFloat param_float =
new CfgParamFloat(param_name);
265 CfgParamBool param_bool =
new CfgParamBool(param_name);
278 int lenght = text.
Length();
282 if ( pos1 == 0 && text.
Substring(lenght - 1, 1) ==
"}" )
290 if ( pos1 == 0 && text.
Substring(lenght - 1, 1) ==
"\"" )
292 string string_text = text.
Substring(1, lenght - 2);
293 if ( string_text.
IndexOf(
"\"") == -1 )
308 if ( lenght == 4 && pos1 > -1 )
315 if ( lenght == 5 && pos1 > -1 )
403 return param_value.
ToInt();
431 while ( pos_a > -1 || pos_b > -1 )
451 for ( pos_a = 0; pos_a < a.Count(); ++pos_a )
453 if ( a.Get(pos_a) > b.Get(pos_b) )
459 value_end = b.Get(pos_b) - value_start + 1;
463 strings.Insert( param_value.
Substring(value_start, value_end) );
465 value_start = b.Get(pos_b) + 1;
471 else if ( a.Get(pos_a) < b.Get(pos_b) )
473 if ( pos_a == a.Count() - 1 && pos_b < b.Count() - 1 )
479 value_end = b.Get(pos_b) - value_start;
483 strings.Insert( param_value.
Substring(value_start + 1, value_end) );
485 value_start = b.Get(pos_b) + 1;
497 value_start = a.Get(pos_a);
505 if ( strings.Count() == 0 )
509 string param_value_content = param_value.
Substring(1, param_value.
Length() - 2);
513 param_value_content.
Split(
",", strings);
516 for (
int i = 0; i < strings.Count(); ++i )
518 string str = strings.Get(i);
524 param_parent.Insert(param);
const int CFG_TYPE_STRING
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
static CfgParam CreateParam(string name, int cfg_type)
void SetName(string param_name)
string ParseParam(CfgParam param)
int GetTextType(string text)
override string GetFileName()
ref array< ref CfgParam > m_CfgParams
bool IsParam(string text)
CfgParam ParseText(string text)
array< ref CfgParam > GetAllParams()
void RenameParam(string name, string new_name)
float ParseToValueFloat(string param_value)
string ParseToValueString(string param_value)
int ParseToValueInt(string param_value)
void RemoveParamByName(string name)
void PluginConfigHandler()
bool ParamExist(string name)
bool IsString(string text)
bool IsFloat(string text)
CfgParam GetParamByName(string name, int cfg_type)
bool IsArray(string text)
array< ref CfgParam > ParseToValueArray(string param_value)
bool ParseToValueBool(string param_value)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
const string CFG_FILE_USER_PROFILE
class array< Class T > TStringArray
const string STRING_EMPTY
proto native int Length()
Returns length of string.
proto string Trim()
Returns trimmed string with removed leading and trailing whitespaces.
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.
proto native int ToInt()
Converts string to integer.
bool Contains(string sample)
Returns true if sample is substring of string.
proto native float ToFloat()
Converts string to float.
void Split(string sample, out array< string > output)
Splits string into array of strings separated by 'sample'.
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
proto native int IndexOfFrom(int start, string sample)
Finds 'sample' in 'str' from 'start' position. Returns -1 when not found.
proto native int IndexOf(string sample)
Finds 'sample' in 'str'. Returns -1 when not found.