1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165 |
- typedef Param3<string, bool, vector> LocationParams;// param1 - name, param2 - isCustom?, param3 - position
- class PluginConfigDebugProfile extends PluginConfigHandler
- {
- protected const string SCENE_DRAW_SELECTION = "scene_editor_draw_selection";
- protected const string SCENE_LOAD_PLAYER_POS = "scene_editor_load_player_pos";
- protected const string SCENE_ROTATION_ANGLE = "scene_editor_rotation_angle";
- protected const string ITEM_TAB_SELECTED = "console_TabSelected";
- protected const string PRESET_LIST = "console_presets";
- protected const string PRESET_DEFAULT = "console_preset_default";
- protected const string ITEM_SEARCH = "console_ItemSearch";
- protected const string SPAWN_DISTANCE = "console_SpawnDistance";
- protected const string CHAR_STATS_VIS = "console_character_stats_visible";
- protected const string CHAR_LEVELS_VIS = "console_character_levels_visible";
- protected const string CHAR_MODIFIERS_VIS = "console_character_modifiers_visible";
- protected const string CHAR_AGENTS_VIS = "console_character_agents_visible";
- protected const string CHAR_DEBUG_VIS = "console_character_debug_visible";
- protected const string CHAR_STOMACH_VIS = "console_character_stomach_visible";
- protected const string FREE_CAMERA_CROSSHAIR = "console_free_camera_crosshair_visible";
- protected const string VERSION_VIS = "console_version_visible";
- protected const string MERGE_TYPE = "category_merge_type";
- protected const string TEMP_VIS = "console_temperature_visible";
- protected const string HEALTH_VIS = "console_health_visible";
- protected const string SUB_PARAM_ITEM = "item";
- protected const string SUB_PARAM_ITEM_NAME = "name";
- protected const string SUB_PARAM_ITEM_HEALTH = "health";
- protected const string SUB_PARAM_ITEM_QUANTITY = "quantity";
- protected const string SUB_PARAM_ITEM_WITH_PHYSICS = "with_physics";
- protected const string LOGS_ENABLED = "logs_enabled";
- protected const string CONFIG_CLASSES_FLAG = "toggled_config_classes_flag";
- protected const string ITEM_CATEGORY_FLAG = "toggled_item_categories_flag";
- protected const string ITEM_PREVIEW = "show_item_preview";
- protected const string BATCH_RECT = "batch_spawn_rect";
- protected const string BATCH_QUANT = "batch_spawn_quantity";
- protected const string SOUNDFILTER = "soundset_editbox";
- protected const string ITEMDEBUG = "item_debug";
- protected const string SPAWN_LOC_INDEX = "spawn_loc_index";
- protected const string FILTER_REVERSED = "filter_order_reversed";
- protected ref map<string, ref CfgParam> m_DefaultValues;
- protected ref TStringArray m_PresetList;
- protected const string POSITION_NAME_ROOT = "console_positions_";
-
- //========================================
- // GetInstance
- //========================================
- static PluginConfigDebugProfile GetInstance()
- {
- return PluginConfigDebugProfile.Cast( GetPlugin(PluginConfigDebugProfile) );
- }
-
- //========================================
- // GetCfgParamArray
- //========================================
- protected CfgParamArray GetNewCfgParamArray( array<ref CfgParam> params )
- {
- CfgParamArray param = new CfgParamArray( "" );
- param.SetParams( params );
- return param;
- }
-
- //========================================
- // GetCfgParamBool
- //========================================
- protected CfgParamBool GetNewCfgParamBool( bool value )
- {
- CfgParamBool param = new CfgParamBool( "" );
- param.SetValue( value );
- return param;
- }
-
- //========================================
- // GetCfgParamFloat
- //========================================
- protected CfgParamFloat GetNewCfgParamFloat( float value )
- {
- CfgParamFloat param = new CfgParamFloat( "" );
- param.SetValue( value );
- return param;
- }
-
- //========================================
- // GetCfgParamInt
- //========================================
- protected CfgParamInt GetNewCfgParamInt( int value )
- {
- CfgParamInt param = new CfgParamInt( "" );
- param.SetValue( value );
- return param;
- }
-
- //========================================
- // GetCfgParamString
- //========================================
- protected CfgParamString GetNewCfgParamString( string value )
- {
- CfgParamString param = new CfgParamString( "" );
- param.SetValue( value );
- return param;
- }
-
- //========================================
- // Array
- //========================================
- protected CfgParamArray SetArray( string key, array<ref CfgParam> params )
- {
- CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) );
- param.SetParams( params );
- SaveConfigToFile();
- return param;
- }
- protected array<ref CfgParam> GetArray( string key )
- {
- if ( ParamExist(key) )
- {
- CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) );
- return param.GetValues();
- }
- else
- {
- if ( m_DefaultValues.Contains(key) )
- {
- CfgParamArray default_param = CfgParamArray.Cast( m_DefaultValues.Get( key ) );
- return SetArray( key, default_param.GetValues() ).GetValues();
- }
- else
- {
- return SetArray( key, new array<ref CfgParam> ).GetValues();
- }
- }
- }
-
- //========================================
- // Bool
- //========================================
- protected CfgParamBool SetBool( string key, bool value )
- {
- CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) );
- param.SetValue( value );
- SaveConfigToFile();
- return param;
- }
- protected bool GetBool( string key )
- {
- if ( ParamExist(key) )
- {
- CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) );
- return param.GetValue();
- }
- else
- {
- if ( m_DefaultValues.Contains(key) )
- {
- CfgParamBool default_param = CfgParamBool.Cast( m_DefaultValues.Get( key ) );
- return SetBool( key, default_param.GetValue() ).GetValue();
- }
- else
- {
- return SetBool( key, false ).GetValue();
- }
- }
- }
-
- //========================================
- // Float
- //========================================
- protected CfgParamFloat SetFloat( string key, float value )
- {
- CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) );
- param.SetValue( value );
- SaveConfigToFile();
- return param;
- }
- protected float GetFloat( string key )
- {
- if ( ParamExist(key) )
- {
- CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) );
- return param.GetValue();
- }
- else
- {
- if ( m_DefaultValues.Contains(key) )
- {
- CfgParamFloat default_param = CfgParamFloat.Cast( m_DefaultValues.Get( key ) );
- return SetFloat( key, default_param.GetValue() ).GetValue();
- }
- else
- {
- return SetFloat( key, 0.0 ).GetValue();
- }
- }
- }
-
- //========================================
- // Int
- //========================================
- protected CfgParamInt SetInt( string key, int value )
- {
- CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) );
- param.SetValue( value );
- SaveConfigToFile();
- return param;
- }
- protected int GetInt( string key )
- {
- if ( ParamExist(key) )
- {
- CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) );
- return param.GetValue();
- }
- else
- {
- if ( m_DefaultValues.Contains(key) )
- {
- CfgParamInt default_param = CfgParamInt.Cast( m_DefaultValues.Get( key ) );
- return SetInt( key, default_param.GetValue() ).GetValue();
- }
- else
- {
- return SetInt( key, 0 ).GetValue();
- }
- }
- }
-
- //========================================
- // String
- //========================================
- protected CfgParamString SetString( string key, string value )
- {
- CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) );
- if(param)
- {
- param.SetValue( value );
- SaveConfigToFile();
- }
- return param;
- }
- protected string GetString( string key )
- {
- CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) );
-
- if ( param && param.GetValue() != STRING_EMPTY )
- {
- return param.GetValue();
- }
- else
- {
- if ( m_DefaultValues.Contains(key) )
- {
- CfgParamString default_param = CfgParamString.Cast( m_DefaultValues.Get( key ) );
- CfgParamString param_string = SetString( key, default_param.GetValue() );
- if(param_string)
- return param_string.GetValue();
- }
- else
- {
- return SetString( key, "" ).GetValue();
- }
- }
- return "";
- }
-
- protected void GetSubParametersInStringArray( string setting_name, string sub_param_name, out TStringArray arr )
- {
- array<ref CfgParam> items = GetArray( setting_name );
- for ( int i = 0; i < items.Count(); i++ )
- {
- CfgParamArray items_array = CfgParamArray.Cast( items.Get(i) );
- array<ref CfgParam> item_params = items_array.GetValues();
-
- for ( int j = 0; j < item_params.Count(); j++ )
- {
- if ( item_params.Get(j).GetName() == sub_param_name )
- {
- CfgParamString param_string = CfgParamString.Cast( item_params.Get( j ) );
- arr.Insert( param_string.GetValue() );
- }
- }
- }
- }
-
- //========================================
- // PluginConfigDebugProfile
- //========================================
- void PluginConfigDebugProfile()
- {
- m_DefaultValues = new map<string, ref CfgParam>;
- m_DefaultValues.Insert(SCENE_DRAW_SELECTION, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(SCENE_LOAD_PLAYER_POS, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(SCENE_ROTATION_ANGLE, GetNewCfgParamInt(15) );
- m_DefaultValues.Insert(ITEM_TAB_SELECTED, GetNewCfgParamInt(0) );
- m_DefaultValues.Insert(PRESET_DEFAULT, GetNewCfgParamString("") );
- m_DefaultValues.Insert(ITEM_SEARCH, GetNewCfgParamString("") );
- m_DefaultValues.Insert(SPAWN_DISTANCE, GetNewCfgParamFloat(0.0) );
- m_DefaultValues.Insert(LOGS_ENABLED, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(CHAR_STATS_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(CHAR_LEVELS_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(CHAR_MODIFIERS_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(CHAR_AGENTS_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(CHAR_DEBUG_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(FREE_CAMERA_CROSSHAIR, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(VERSION_VIS, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(CONFIG_CLASSES_FLAG, GetNewCfgParamInt(15) );
- m_DefaultValues.Insert(TEMP_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(HEALTH_VIS, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(MERGE_TYPE, GetNewCfgParamBool(false) );
- m_DefaultValues.Insert(ITEM_PREVIEW, GetNewCfgParamBool(true) );
- m_DefaultValues.Insert(BATCH_RECT, GetNewCfgParamArray(GetDefaultBatchRectParams()) );
- m_DefaultValues.Insert(BATCH_QUANT, GetNewCfgParamInt(10) );
- m_DefaultValues.Insert(SOUNDFILTER, GetNewCfgParamString("") );
- m_DefaultValues.Insert(ITEMDEBUG, GetNewCfgParamString("0 0 0") );
- m_DefaultValues.Insert(SPAWN_LOC_INDEX, GetNewCfgParamInt(0));
- m_DefaultValues.Insert(FILTER_REVERSED, GetNewCfgParamBool(false));
- }
-
- array<ref CfgParam> GetDefaultBatchRectParams()
- {
- array<ref CfgParam> params = new array<ref CfgParam>;
- CfgParamInt param1 = new CfgParamInt("");
- param1.SetValue(5);
- CfgParamInt param2 = new CfgParamInt("");
- param2.SetValue(5);
- CfgParamFloat param3 = new CfgParamFloat("");
- param3.SetValue(1.0);
- CfgParamFloat param4 = new CfgParamFloat("");
- param4.SetValue(1.0);
-
- params.Insert(param1);
- params.Insert(param2);
- params.Insert(param3);
- params.Insert(param4);
-
- return params;
- }
-
- //========================================
- // OnInit
- //========================================
- override void OnInit()
- {
- super.OnInit();
-
- array<ref CfgParam> params = GetArray( PRESET_LIST );
-
- m_PresetList = new TStringArray;
- for ( int i = 0; i < params.Count(); i++ )
- {
- CfgParamString param = CfgParamString.Cast( params.Get( i ) );
- m_PresetList.Insert( param.GetValue() );
- }
- }
-
- //========================================
- // GetFileName
- //========================================
- override string GetFileName()
- {
- if (!FileExist(GetSubFolderName()))//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
- return "$profile:debugProfile.cfg";//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
-
- return GetSubFolderName() + CFG_FILE_DEBUG_PROFILE;
- }
-
- override string GetSubFolderName()
- {
- return CFG_FILE_DEBUG_DIR;
- }
- //========================================
- // SceneEditorDrawSelection
- //========================================
- bool GetSceneEditorDrawSelection()
- {
- return GetBool( SCENE_DRAW_SELECTION );
- }
- void SetSceneEditorDrawSelection( bool value )
- {
- SetBool( SCENE_DRAW_SELECTION, value );
- }
-
- //========================================
- // SceneEditorSavePlayerPos
- //========================================
- bool GetSceneEditorLoadPlayerPos()
- {
- return GetBool( SCENE_LOAD_PLAYER_POS );
- }
- void SetSceneEditorLoadPlayerPos( bool value )
- {
- SetBool( SCENE_LOAD_PLAYER_POS, value );
- }
-
- //========================================
- // SceneEditorRotationAngle
- //========================================
- int GetSceneEditorRotationAngle()
- {
- return GetInt( SCENE_ROTATION_ANGLE );
- }
- void SetSceneEditorRotationAngle( int value )
- {
- SetInt( SCENE_ROTATION_ANGLE, value );
- }
-
- //========================================
- // TabSelected
- //========================================
- int GetTabSelected()
- {
- return GetInt( ITEM_TAB_SELECTED );
- }
-
- void SetTabSelected( int value )
- {
- SetInt( ITEM_TAB_SELECTED, value );
- }
-
- //========================================
- // SpawnLocIndex
- //========================================
- int GetSpawnLocIndex()
- {
- return GetInt( SPAWN_LOC_INDEX );
- }
-
- void SetSpawnLocIndex( int value )
- {
- SetInt( SPAWN_LOC_INDEX, value );
- }
-
- //========================================
- // FilterOrder
- //========================================
- int GetFilterOrderReversed()
- {
- return GetBool( FILTER_REVERSED );
- }
-
- void SetFilterOrderReversed( bool reversed )
- {
- SetBool( FILTER_REVERSED, reversed );
- }
-
- //========================================
- // DefaultPreset
- //========================================
- string GetDefaultPreset()
- {
- return GetString( PRESET_DEFAULT );
- }
-
- void SetDefaultPreset( string value )
- {
- SetString( PRESET_DEFAULT, value );
- }
-
- //========================================
- // Batch Spawn Params
- //========================================
- array<ref CfgParam> GetBatchSpawnRectangle()
- {
- return GetArray( BATCH_RECT );
- }
-
- void SetBatchSpawnRectangle( int row, int column, float rowStep, float columnStep)
- {
- array<ref CfgParam> params = GetArray( BATCH_RECT );
- params.Clear();
- CfgParamString param;
-
- CfgParamInt param1 = new CfgParamInt("");
- param1.SetValue(row);
- CfgParamInt param2 = new CfgParamInt("");
- param2.SetValue(column);
- CfgParamFloat param3 = new CfgParamFloat("");
- param3.SetValue(rowStep);
- CfgParamFloat param4 = new CfgParamFloat("");
- param4.SetValue(columnStep);
-
- params.Insert(param1);
- params.Insert(param2);
- params.Insert(param3);
- params.Insert(param4);
- SaveConfigToFile();
- }
-
- //========================================
- // Batch Spawn Quantity
- //========================================
- int GetBatchSpawnQuantity()
- {
- return GetInt( BATCH_QUANT );
- }
-
- void SetBatchSpawnQuantity(int value)
- {
- SetInt( BATCH_QUANT, value );
- }
- //========================================
- // ItemSearch
- //========================================
- string GetItemSearch()
- {
- return GetString( ITEM_SEARCH );
- }
-
- void SetItemSearch( string value )
- {
- SetString( ITEM_SEARCH, value );
- }
- //========================================
- // SpawnDistance
- //========================================
- float GetSpawnDistance()
- {
- return GetFloat( SPAWN_DISTANCE );
- }
- void SetSpawnDistance( float value )
- {
- SetFloat( SPAWN_DISTANCE, value );
- }
- //========================================
- // LogsEnabled
- //========================================
- bool GetLogsEnabled()
- {
- return GetBool( LOGS_ENABLED );
- }
- void SetLogsEnabled( bool value )
- {
- SetBool( LOGS_ENABLED, value );
- }
-
- //========================================
- // CharacterLevelsVisible
- //========================================
- bool GetCharacterLevelsVisible()
- {
- return GetBool( CHAR_LEVELS_VIS );
- }
-
- void SetCharacterLevelsVisible( bool is_visible )
- {
- SetBool( CHAR_LEVELS_VIS, is_visible );
- }
-
-
- //========================================
- // ItemDebugPos
- //========================================
- void SetItemDebugPos(vector pos)
- {
- SetString( ITEMDEBUG ,pos.ToString(false));
- }
-
- vector GetItemDebugPos()
- {
- return GetString( ITEMDEBUG ).ToVector();
- }
-
- //========================================
- // CharacterStatsVisible
- //========================================
- bool GetCharacterStatsVisible()
- {
- return GetBool( CHAR_STATS_VIS );
- }
-
- void SetCharacterStatsVisible( bool is_visible )
- {
- SetBool( CHAR_STATS_VIS, is_visible );
- }
-
- //========================================
- // CharacterModifiersVisible
- //========================================
- bool GetCharacterModifiersVisible()
- {
- return GetBool( CHAR_MODIFIERS_VIS );
- }
- void SetCharacterModifiersVisible( bool is_visible )
- {
- SetBool( CHAR_MODIFIERS_VIS, is_visible );
- }
-
- //========================================
- // CharacterAgentsVisible
- //========================================
- bool GetCharacterAgentsVisible()
- {
- return GetBool( CHAR_AGENTS_VIS );
- }
- void SetCharacterAgentsVisible( bool is_visible )
- {
- SetBool( CHAR_AGENTS_VIS, is_visible );
- }
-
- //========================================
- // CharacterDebugVisible
- //========================================
- bool GetCharacterDebugVisible()
- {
- return GetBool( CHAR_DEBUG_VIS );
- }
- void SetCharacterDebugVisible( bool is_visible )
- {
- SetBool( CHAR_DEBUG_VIS, is_visible );
- }
-
- //========================================
- // CharacterStomachVisible
- //========================================
- bool GetCharacterStomachVisible()
- {
- return GetBool( CHAR_STOMACH_VIS );
- }
- void SetCharacterStomachVisible( bool is_visible )
- {
- SetBool( CHAR_STOMACH_VIS, is_visible );
- }
-
- //========================================
- // FreeCameraCrosshairVisible
- //========================================
- bool GetFreeCameraCrosshairVisible()
- {
- return GetBool( FREE_CAMERA_CROSSHAIR );
- }
- void SetFreeCameraCrosshairVisible( bool is_visible )
- {
- SetBool( FREE_CAMERA_CROSSHAIR, is_visible );
- }
-
- //========================================
- // VersionVisible
- //========================================
- bool GetVersionVisible()
- {
- return GetBool( VERSION_VIS );
- }
- void SetVersionVisible( bool is_visible )
- {
- SetBool( VERSION_VIS, is_visible );
- }
-
- //========================================
- // Merge Type
- //========================================
- bool GetMergeType()
- {
- return GetBool( MERGE_TYPE );
- }
- void SetMergeType( bool is_visible )
- {
- SetBool( MERGE_TYPE, is_visible );
- }
-
- //========================================
- // Soundset Filter
- //========================================
- string GetSoundsetFilter()
- {
- return GetString( SOUNDFILTER );
- }
- void SetSoundsetFilter( string content )
- {
- SetString( SOUNDFILTER, content );
- }
-
- //========================================
- // TemperatureVisible
- //========================================
- bool GetTempVisible()
- {
- return GetBool( TEMP_VIS );
- }
- void SetTempVisible( bool is_visible )
- {
- SetBool( TEMP_VIS, is_visible );
- }
-
- //========================================
- // HealthVisible
- //========================================
- bool GetHealthVisible()
- {
- return GetBool( HEALTH_VIS );
- }
- void SetHealthVisible( bool is_visible )
- {
- SetBool( HEALTH_VIS, is_visible );
- }
-
- //========================================
- // Show Item Preview
- //========================================
- bool GetShowItemPreview()
- {
- return GetBool( ITEM_PREVIEW );
- }
- void SetShowItemPreview( bool show )
- {
- SetBool( ITEM_PREVIEW, show );
- }
-
-
- //========================================
- // ConfigClassesFlag
- //========================================
- int GetConfigClassesFlag()
- {
- return GetInt( CONFIG_CLASSES_FLAG );
- }
- void SetConfigClassesFlag( int flag )
- {
- SetInt( CONFIG_CLASSES_FLAG, flag );
- }
-
-
- //========================================
- // Item Category Flag
- //========================================
- int GetItemCategoryFlag()
- {
- return GetInt( ITEM_CATEGORY_FLAG );
- }
- void SetItemCategoryFlag( int flag )
- {
- SetInt( ITEM_CATEGORY_FLAG, flag );
- }
-
- //========================================
- // User Location
- //========================================
- bool CustomLocationsAdd( string name, vector position )
- {
- string world = g_Game.GetWorldName();
- world.ToLower();
-
- CfgParamString locationName = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME);
- locationName.SetValue(name);
- CfgParamString locationPos = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC);
- locationPos.SetValue(position.ToString(false));
-
- CfgParamArray locationEntry = new CfgParamArray( locationName.GetValue() );
- locationEntry.InsertValue( locationName );
- locationEntry.InsertValue( locationPos );
-
- string paramName = POSITION_NAME_ROOT + world;
- array<ref CfgParam> params = GetArray(paramName);
- params.Insert(locationEntry);
- SetArray(paramName, params);
- SaveConfigToFile();
-
- return true;
- }
-
- void CustomLocationsRemove( string name )
- {
- if (!name)
- return;
- string world = g_Game.GetWorldName();
- world.ToLower();
- string paramName = POSITION_NAME_ROOT + world;
- array<ref CfgParam> params = GetArray(paramName);
-
- for (int i = 0; i < params.Count(); i++)
- {
- CfgParamArray param = CfgParamArray.Cast(params.Get(i));
- array<ref CfgParam> prms = param.GetValues();
- CfgParamString par = CfgParamString.Cast(prms.Get(0));
- if (par.GetValue() == name)
- {
- params.RemoveOrdered(i);
- break;
- }
- }
-
- //SetArray(paramName, params);
- SaveConfigToFile();
- }
- //========================================
- // Presets
- //========================================
- TStringArray GetPresets()
- {
- return m_PresetList;
- }
-
- protected void SetPreset( string preset_name, int index = -1 )
- {
- array<ref CfgParam> params = GetArray( PRESET_LIST );
- CfgParamString param;
-
- if ( index == -1 )
- {
- param = new CfgParamString( "" );
- param.SetValue( preset_name );
- params.Insert( param );
- m_PresetList.Insert( preset_name );
- }
- else
- {
- param = CfgParamString.Cast( params.Get( index ) );
- param.SetValue( preset_name );
- params.Set( index, param );
- m_PresetList.Set( index, preset_name );
- }
-
- SaveConfigToFile();
- }
-
- protected void RemovePreset( string preset_name )
- {
- array<ref CfgParam> params = GetArray( PRESET_LIST );
- for ( int i = 0; i < params.Count(); i++ )
- {
- CfgParamString param = CfgParamString.Cast( params.Get(i) );
- if ( param.GetValue() == preset_name )
- {
- params.RemoveItem( param );
- m_PresetList.RemoveItem( preset_name );
- }
- }
- }
-
- bool GetPresetItems( string preset_name, out TStringArray arr, string param_name = "" )
- {
- if ( m_PresetList.Find(preset_name) == -1 )
- {
- return false;
- }
- if(param_name == "")
- param_name = SUB_PARAM_ITEM_NAME;
- GetSubParametersInStringArray( preset_name, param_name, arr );
-
- return true;
- }
-
- bool PresetAdd( string preset_name )
- {
- if ( m_PresetList.Find(preset_name) > -1 )
- {
- return false;
- }
-
- SetPreset( preset_name );
- SetArray( preset_name, new array<ref CfgParam> );
- SaveConfigToFile();
-
- return true;
- }
-
- bool PresetRemove( string preset_name )
- {
- if ( m_PresetList.Find(preset_name) == -1 )
- {
- return false;
- }
-
- RemovePreset( preset_name );
- RemoveParamByName( preset_name );
- SaveConfigToFile();
-
- return true;
- }
-
- bool PresetRename( string old_preset_name, string new_preset_name )
- {
- int index = m_PresetList.Find( old_preset_name );
-
- if ( index == -1 )
- {
- return false;
- }
-
- SetPreset( new_preset_name, index );
- RenameParam( old_preset_name, new_preset_name );
- SaveConfigToFile();
-
- return true;
- }
-
- bool ItemAddToPreset( string preset_name, string item_name )
- {
- if ( m_PresetList.Find( preset_name ) == -1 )
- {
- return false;
- }
-
- CfgParamString param = new CfgParamString( SUB_PARAM_ITEM_NAME );
- param.SetValue( item_name );
-
- CfgParamArray item_params = new CfgParamArray( SUB_PARAM_ITEM );
- item_params.InsertValue( param );
-
- array<ref CfgParam> params = GetArray( preset_name );
- params.Insert( item_params );
-
- SaveConfigToFile();
-
- return true;
- }
-
- bool ItemRemoveFromPreset( string preset_name, int item_index )
- {
- if ( m_PresetList.Find( preset_name ) == -1 )
- {
- return false;
- }
-
- array<ref CfgParam> params = GetArray( preset_name );
-
- if ( item_index >= params.Count() )
- {
- return false;
- }
-
- params.Remove( item_index );
- SaveConfigToFile();
-
- return true;
- }
- bool SwapItem( string preset_name, int item1_index, int item2_index )
- {
- array<ref CfgParam> params = GetArray( preset_name );
-
- if ( item1_index >= params.Count() || item2_index >= params.Count() )
- {
- return false;
- }
-
- params.SwapItems( item1_index, item2_index );
- SaveConfigToFile();
-
- return true;
- }
-
- protected array<ref CfgParam> GetItemParams( string preset_name, int item_index )
- {
- if ( m_PresetList.Find( preset_name ) == -1 )
- {
- return NULL;
- }
-
- array<ref CfgParam> params = GetArray( preset_name );
-
- if ( !params || item_index >= params.Count() )
- {
- return NULL;
- }
- if (params.IsValidIndex(item_index))
- CfgParamArray params_array = CfgParamArray.Cast( params.Get( item_index ) );
- if (params_array)
- return params_array.GetValues();
-
- return null;
- }
-
- protected CfgParam GetItemParam( string preset_name, int item_index, string param_name )
- {
- array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
-
- if ( item_params == NULL )
- {
- return NULL;
- }
-
- CfgParam param = NULL;
- for ( int i = 0; i < item_params.Count(); i++ )
- {
- if ( item_params.Get(i).GetName() == param_name )
- {
- param = item_params.Get(i);
- }
- }
-
- return param;
- }
-
- float GetItemHealth( string preset_name, int item_index )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH );
-
- if ( param == NULL )
- {
- return -1;
- }
- else
- {
- CfgParamFloat param_float = CfgParamFloat.Cast( param );
- return param_float.GetValue();
- }
- }
-
- bool SetItemHealth( string preset_name, int item_index, float health )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH );
-
- if ( param != NULL )
- {
- CfgParamFloat param_float = CfgParamFloat.Cast( param );
- param_float.SetValue( health );
- }
- else
- {
- array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
-
- if ( item_params != NULL )
- {
- CfgParamFloat new_param = new CfgParamFloat( SUB_PARAM_ITEM_HEALTH );
- new_param.SetValue( health );
- item_params.Insert( new_param );
- }
- }
- SaveConfigToFile();
-
- return true;
- }
-
- int GetItemQuantity( string preset_name, int item_index )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY );
-
- if ( param == NULL )
- {
- return 1;
- }
- else
- {
- CfgParamInt param_int = CfgParamInt.Cast( param );
- return param_int.GetValue();
- }
- }
-
- bool SetItemQuantity( string preset_name, int item_index, int quantity )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY );
-
- if ( param != NULL )
- {
- CfgParamInt param_int = CfgParamInt.Cast( param );
- param_int.SetValue( quantity );
- }
- else
- {
- array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
-
- if ( item_params != NULL )
- {
- CfgParamInt new_param = new CfgParamInt( SUB_PARAM_ITEM_QUANTITY );
- new_param.SetValue( quantity );
- item_params.Insert( new_param );
- }
- }
- SaveConfigToFile();
-
- return true;
- }
-
- bool GetItemWithPhysics( string preset_name, int item_index )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS );
-
- if ( param == NULL )
- {
- return false;
- }
- else
- {
- CfgParamBool param_bool = CfgParamBool.Cast( param );
- return param_bool.GetValue();
- }
- }
-
- bool SetItemWithPhysics( string preset_name, int item_index, bool with_physics )
- {
- CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS );
-
- if ( param != NULL )
- {
- CfgParamBool param_bool = CfgParamBool.Cast( param );
- param_bool.SetValue( with_physics );
- }
- else
- {
- array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
-
- if ( item_params != NULL )
- {
- CfgParamBool new_param = new CfgParamBool( SUB_PARAM_ITEM_WITH_PHYSICS );
- new_param.SetValue( with_physics );
- item_params.Insert( new_param );
- }
- }
- SaveConfigToFile();
-
- return true;
- }
-
- //========================================
- // Locations
- //========================================
- void GetLocationsData( out array<ref LocationParams> arr , bool isCustom)
- {
- string world = g_Game.GetWorldName();
- world.ToLower();
- string paramName = POSITION_NAME_ROOT + world;
-
- TStringArray names = new TStringArray();
- GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME, names );
- TStringArray positions = new TStringArray();
- GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC, positions );
- int i;
- if (isCustom)
- {
- for ( i = names.Count() - 1; i >= 0 ; i--)
- {
- arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
- }
- }
- else
- {
- for (i = 0; i < names.Count(); i++)
- {
- arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
- }
- }
- }
- }
|