123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /*
- //Mission = "ChernarusPlus"
- typedef CfgParamString DefCfgParamString
- //InitTime = 220
- typedef CfgParamInt DefCfgParamInt
- //InitWeatherRain = 0.5
- typedef CfgParamFloat DefCfgParamFloat
- //InitWeatherFog = 0.3
- typedef CfgParamFloat DefCfgParamFloat
- //SceneObjectsCount = 1
- typedef CfgParamInt DefCfgParamInt
- */
- class PluginLocalProfileScene extends PluginLocalProfile
- {
- private const string FILE_ROOT = "$saves:";
- private const string FILE_ROOT_SCENES = "Scenes";
- private const string PARAM_MISSION = "Mission";
- private const string PARAM_TIME = "InitTime";
- private const string PARAM_RAIN = "InitWeatherRain";
- private const string PARAM_FOG = "InitWeatherFog";
- private const string PARAM_OBJ_COUNT = "SceneObjectsCount";
- private const string PARAM_OBJ_NAME = "SceneObject";
-
- private string m_FileSceneName;
-
- //========================================
- // GetPathScenes
- //========================================
- string GetPathScenes()
- {
- return FILE_ROOT+"\\"+FILE_ROOT_SCENES;
- }
-
- //========================================
- // GetFileName
- //========================================
- override string GetFileName()
- {
- string file_name = GetPathScenes()+"\\"+m_FileSceneName;
- return file_name;
- }
-
- //========================================
- // OnInit
- //========================================
- override void OnInit()
- {
- super.OnInit();
- }
-
- //========================================
- // GetSceneList
- //========================================
- TStringArray GetSceneList()
- {
- if ( !FileExist( GetPathScenes() ) )
- {
- MakeDirectory( GetPathScenes() );
- }
-
- string file_name;
- int file_attr;
- int flags;
- TStringArray list = new TStringArray;
-
- string path_find_pattern = GetPathScenes()+"/*.scene";
- FindFileHandle file_handler = FindFile(path_find_pattern, file_name, file_attr, flags);
-
- bool found = true;
- while ( found )
- {
- list.Insert(file_name);
-
- found = FindNextFile(file_handler, file_name, file_attr);
- }
-
- return list;
- }
- //========================================
- // SceneSave
- //========================================
- void SceneSave(SceneData scene)
- {
- m_FileSceneName = scene.GetNameScene()+".scene";
-
- array<ref SceneObject> objects = scene.GetSceneObjects();
-
- // Save Mission Name
- SetParameterString(PARAM_MISSION, scene.GetNameMission(), false);
- //Save Init Time
- SetParameterFloat(PARAM_TIME, scene.GetInitTime(), false);
- //Save Init Weather Rain
- SetParameterFloat(PARAM_RAIN, scene.GetInitRain(), false);
- //Save Init Weather Rain
- SetParameterFloat(PARAM_FOG, scene.GetInitFog(), false);
- // Save Count Of missions
- SetParameterInt(PARAM_OBJ_COUNT, objects.Count(), false);
-
-
- for ( int i = 0; i < objects.Count(); ++i )
- {
- SceneObject obj = objects.Get(i);
-
- string param_name = PARAM_OBJ_NAME+"_"+i.ToString();
- Print(param_name);
- SetSubParameterInArray (param_name, 0, "ClassName", obj.GetTypeName(), false);
- }
-
-
- SaveConfigToFile();
- }
- }
|