32 string line_content =
"";
33 string param_name =
"";
34 string param_value =
"";
38 for (
int i = 0; i < file_content.Count(); ++i )
40 line_content = file_content.Get(i);
44 if ( param_content.Count() == 0 )
50 param_name = param_content.Get(0);
51 param_value = param_content.Get(1);
62 if ( array_items.Count() > 0 )
66 for (
int j = 0; j < array_items.Count(); ++j )
68 string array_content = array_items.Get(j);
71 array_content_raw.Clear();
78 if ( array_content_raw.Count() > 0 )
88 for (
int k = 0; k < array_content_raw.Count(); ++k )
90 string params = array_content_raw.Get(k);
95 parameters.Set(p.Get(0), p.Get(1));
99 params_in_array.Insert(parameters);
120 string variable_name;
121 string variable_value;
130 text = variable_name +
" = " + variable_value;
132 AddNewLineNoSave(text);
145 text = variable_name +
" = {";
147 for ( j = 0; j < variable_array.Count(); ++j )
154 text += variable_array.Get(j);
159 AddNewLineNoSave(text);
167 text = variable_name +
" = {";
169 if ( variable_param != NULL )
171 for ( j = 0; j < variable_param.Count(); ++j )
180 for ( k = 0; k < params.Count(); ++k )
187 string param_name = params.GetKey(k);
188 string param_value = params.GetElement(k);
190 text += param_name+
"="+param_value;
199 AddNewLineNoSave(text);
227 int pos_end = text.
Length() - pos;
228 string param_value = text.
Substring(pos + 1, pos_end - 1).
Trim();
230 int lenght = param_value.
Length();
231 if (lenght > 1 && param_value.
Substring(0, 1) ==
"\"" && param_value.
Substring(lenght - 1, 1) ==
"\"" )
233 param_value = param_value.
Substring(1, lenght - 2);
236 ret.Insert(param_name);
237 ret.Insert(param_value);
252 int pos_array_start = text.
IndexOf(
"{");
253 int pos_array_end = text.
IndexOf(
"}");
255 if ( pos_array_start > -1 && pos_array_end > -1 )
259 string array_value = text.
Substring(pos_array_start , pos_array_end - pos_array_start + 1 );
262 pos_array_start = text.
IndexOfFrom(pos_array_end,
"{");
263 pos_array_end = text.
IndexOfFrom(pos_array_start,
"}");
265 if ( pos_array_start == -1 )
273 text.
Split(
",", ret);
288 for (
int i = 0; i < array_items.Count(); ++i )
290 string param = array_items.Get(i);
293 string param_name = t_param.Get(0);
294 string param_value = t_param.Get(1);
296 ret_param.Set(param_name, param_value);
299 ret.Insert(ret_param);
336 if ( sub_arrays != NULL )
338 if ( sub_array_index < sub_arrays.Count() )
340 param = sub_arrays.Get(sub_array_index);
342 if ( param.Contains(sub_param_name) )
344 ret_value = param.
Get(sub_param_name);
353 void SaveParameter(
string param_name,
string value,
bool save_in_file =
true)
355 if ( param_name ==
"" || param_name ==
"scene_editor_scene" )
357 Log(
"SaveParameter: "+param_name+
" = "+value,
"");
378 void SaveSubParameterInArray(
string param_name,
int sub_array_index,
string sub_param_name,
string sub_param_value,
bool save_in_file =
true)
382 sub_parameter.Set(sub_param_name, sub_param_value);
438 string s =
"\""+value+
"\"";
462 void SetSubParameterInArray(
string param_name,
int sub_array_index,
string sub_param_name,
string sub_param_value,
bool save_in_file =
true)
472 if ( loaded_param !=
"" )
475 loaded_param.
Split(
"\"", arr);
476 if ( arr.Count() > 0 )
478 ret_value = arr.Get(0);
494 if ( loaded_param !=
"" )
496 ret_value = loaded_param.
ToInt();
511 if ( loaded_param !=
"" )
513 ret_value = loaded_param.
ToFloat();
526 bool ret_value =
false;
528 if ( loaded_param !=
"" )
530 int v = loaded_param.
ToInt();
563 string loaded_param =
LoadSubParameter(param_name, sub_array_index, sub_param_name);
568 if ( loaded_param !=
"" )
571 loaded_param.
Split(
"\"", arr);
572 ret_value = arr.Get(1);
588 for (
int i = 0; i < arrays_in_parameter.Count(); ++i )
594 if ( sub_parameter.Contains(sub_param_name) )
596 sub_param = sub_parameter.
Get(sub_param_name);
599 ret_value.Insert(sub_param);
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
class LogTemplates Log(string message, LogTemplateID template_id=0)
Creates debug log (optional) from LogTemplate which are registred.
TStringArray ParseTextToArray(string text, out TStringArray ret)
array< ref map< string, string > > ParseTextArrayToParameters(string text)
TStringArray LoadParameterArray(string param_name)
void SetParameterString(string name, string value, bool save_in_file=true)
override string GetFileName()
ref map< string, ref array< ref map< string, string > > > m_ConfigParamsArrayInArray
bool IsTextArray(string text)
void SetParameterBool(string name, bool value, bool save_in_file=true)
void SaveParameterArray(string param_name, TStringArray value, bool save_in_file=true)
void SetSubParameterInArray(string param_name, int sub_array_index, string sub_param_name, string sub_param_value, bool save_in_file=true)
bool GetParameterBool(string name)
TStringArray GetAllSubParametersInArrayString(string param_name, string sub_param_name)
float GetParameterFloat(string name)
void RenameParameterArray(string old_name, string new_name, bool save_in_file=true)
TStringArray ParseTextToParameter(string text)
void SaveParameter(string param_name, string value, bool save_in_file=true)
void SetParameterFloat(string name, float value, bool save_in_file=true)
TStringArray GetParameterArray(string name)
ref map< string, string > m_ConfigParams
void RemoveParameterArray(string name, bool save_in_file=true)
void RenameParameter(string old_name, string new_name, bool save_in_file=true)
string LoadParameter(string param_name)
string LoadSubParameter(string param_name, int sub_array_index, string sub_param_name)
void RemoveParameter(string name, bool save_in_file=true)
void SetParameterInt(string name, int value, bool save_in_file=true)
int GetParameterInt(string name)
void SaveSubParameterInArray(string param_name, int sub_array_index, string sub_param_name, string sub_param_value, bool save_in_file=true)
void SetParameterArray(string name, TStringArray value, bool save_in_file=true)
string GetSubParameterInArrayString(string param_name, int sub_array_index, string sub_param_name)
void PluginLocalProfile()
string GetParameterString(string name)
ref map< string, ref TStringArray > m_ConfigParamsArray
ref map< string, ref map< string, string > > m_ConfigParamsInArray
override string GetFileName()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto string ToString(bool simple=true)
const string CFG_FILE_USER_PROFILE
array< string > TStringArray
void PrintString(string s)
Helper for printing out string expression. Example: PrintString("Hello " + var);.
const string STRING_EMPTY
proto native int Length()
Returns length of string.
proto string Trim()
Returns trimmed string with removed leading and trailing whitespaces.
proto string Get(int index)
Gets n-th character from string.
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.
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.
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.