15 protected const string PARAM_FOG =
"WeatherInitFog";
64 string file_path =
GetPathScenes()+
"\\"+scene_name+
"."+PluginSceneManager.SCENE_SUFIX;
65 string file_path_new =
GetPathScenes()+
"\\"+scene_name_new+
"."+PluginSceneManager.SCENE_SUFIX;
74 string file_path =
GetPathScenes()+
"\\"+scene_name+
"."+PluginSceneManager.SCENE_SUFIX;
83 string file_path =
GetPathScenes()+
"\\"+scene_name+
"."+PluginSceneManager.SCENE_SUFIX;
84 string file_path_new = file_path;
89 file_path_new =
GetPathScenes()+
"\\"+scene_name+
"_copy"+i.ToString()+
"."+PluginSceneManager.SCENE_SUFIX;
111 string path_find_pattern =
GetPathScenes()+
"/*."+PluginSceneManager.SCENE_SUFIX;
117 int pos = file_name.
IndexOf(
".");
121 list.Insert( file_name.
Substring(0, pos) );
124 found =
FindNextFile(file_handler, file_name, file_attr);
161 PluginSceneManager module_scene_editor = PluginSceneManager.Cast(
GetPlugin(PluginSceneManager) );
163 EntityAI player = PluginSceneManager.PLAYER;
248 if ( players.Count() > 0 )
250 ScenePlayer plyr = players.Get(0);
257 cfg_param_player_pos.SetValue(plyr.GetPositionAsString());
261 cfg_param_player_rot.SetValue(plyr.GetRotation());
265 cfg_param_player_hlt.SetValue(plyr.GetHealth());
281 for (
int i = 0; i < objects.Count(); ++i )
290 CfgParamArray cfg_param_obj = CfgParamArray.Cast( GetParamByName(param_name,
CFG_TYPE_ARRAY) );
306 cfg_param_obj_hlt.SetValue(obj.
GetHealth());
314 int attcount = e_obj.GetInventory().AttachmentCount();
319 CfgParamArray cfg_param_att = CfgParamArray.Cast( GetParamByName(param_name_att,
CFG_TYPE_ARRAY) );
320 cfg_param_att.Clear();
322 for (
int att = 0; att < attcount; att++)
324 EntityAI attachment = e_obj.GetInventory().GetAttachmentFromIndex(att);
326 CfgParamString cfg_param_att_str =
new CfgParamString(
"");
327 cfg_param_att_str.SetValue( attachment.GetType() );
328 cfg_param_att.InsertValue( cfg_param_att_str );
333 if ( linked_scene_objects.Count() > 0 )
336 CfgParamArray cfg_param_lnk = CfgParamArray.Cast( GetParamByName( param_name_lnk,
CFG_TYPE_ARRAY ) );
337 cfg_param_lnk.Clear();
339 for (
int lnk = 0; lnk < linked_scene_objects.Count(); lnk++ )
341 CfgParamInt cfg_param_lnk_int =
new CfgParamInt(
"");
343 int index = objects.Find( linked_scene_objects.Get(lnk) );
347 cfg_param_lnk_int.SetValue( index );
348 cfg_param_lnk.InsertValue( cfg_param_lnk_int );
356 cfg_obj_count.SetValue(objects.Count());
413 int year, month, day, hour, minute;
414 g_Game.GetWorld().GetDate( year, month, day, hour, minute );
512 if (
g_Game.GetPlayer() != NULL )
521 scn_player.LinkEntityAI(
g_Game.GetPlayer());
523 if ( PluginSceneManager.GetInstance().GetLoadPlayerPos() )
526 vector start_pos = cfg_ply_pos.GetValue().ToVector();
531 scn_player.SetPosition(cfg_ply_pos.GetValue().ToVector());
534 scn_player.SetRotation(cfg_ply_rot.GetValue());
540 float health2 = cfg_ply_hlt.GetValue();
542 health2 = scn_player.GetMaxHealth();
544 scn_player.SetHealth(health2);
558 int obj_count = cfg_obj_count.GetValue();
560 for (
int i = 0; i < obj_count; ++i )
565 CfgParamArray cfg_obj = CfgParamArray.Cast( GetParamByName(param_name,
CFG_TYPE_ARRAY) );
581 scn_obj.
SetHealth(cfg_obj_hlt.GetValue());
589 for (
int lnko = 0; lnko < cfg_obj_links.Count(); lnko++ )
591 CfgParamInt cfg_obj_param_lnk_int = CfgParamInt.Cast( cfg_obj_links.Get(lnko) );
597 if ( ParamExist(param_name_att) )
599 CfgParamArray cfg_param_att = CfgParamArray.Cast( GetParamByName(param_name_att,
CFG_TYPE_ARRAY) );
603 for (
int j = 0; j < cfg_param_attachments.Count(); ++j )
605 CfgParamString cfg_param_att_str = CfgParamString.Cast( cfg_param_attachments.Get(j) );
606 scn_obj.
GetObject().GetInventory().CreateAttachment( cfg_param_att_str.GetValue() );
const int CFG_TYPE_STRING
const string PARAM_MISSION
string DecodeInitScript(string script)
void SaveSceneWeather(SceneData scene)
const string PARAM_OBJ_NAME
void LoadSceneWeather(SceneData scene)
const string PARAM_WIND_F
override string GetFileName()
void SceneDelete(string scene_name)
void SaveSceneSettings(SceneData scene)
TStringArray GetSceneList()
void SceneDuplicate(string scene_name)
const string PARAM_PLAYER
const string PARAM_OBJ_COUNT
const string PARAM_OBJ_DMG
void SceneRename(string scene_name, string scene_name_new)
const string PARAM_OBJ_LNK
void SaveSceneObjects(SceneData scene)
const string PARAM_OBJ_ATT
const string PARAM_OBJ_POS
const string FILE_ROOT_SCENES
string EncodeInitScript(string script)
void SaveScenePlayer(SceneData scene)
void LoadSceneSettings(SceneData scene)
const string PARAM_OBJ_HLT
void LoadScenePlayer(SceneData scene)
const string PARAM_MINUTE
void LoadSceneObjects(SceneData scene)
TStringArray m_CfgTemplate
SceneData SceneDataLoad(string scene_name)
const string PARAM_OBJ_TYPE
const string PARAM_OBJ_ROT
void SceneDataSave(SceneData scene)
const string PARAM_OBJ_ISCR
const string PARAM_OVERCAST
void SetInitWindForce(float value)
void SetInitMinute(int value)
void SetInitFog(float value)
array< ref SceneObject > GetSceneObjects()
array< ref ScenePlayer > GetScenePlayers()
SceneObject CreateSceneObject(string obj_name, vector pos)
void SetInitMonth(int value)
void SetInitHour(int value)
void SetInitTime(float time)
void SetInitRain(float value)
void SetInitDay(int value)
void SetNameScene(string name)
void SetInitOvercast(float value)
ScenePlayer CreateScenePlayer()
void SetNameMission(string name)
void SetInitYear(int value)
void SetRotation(float rot)
string GetPositionAsString()
ref array< int > m_LinkedSceneObjectsIndices
void SetInitScript(string init_script)
void SetHealth(float value)
array< SceneObject > GetLinkedSceneObjects()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
array< string > TStringArray
proto native bool MakeDirectory(string name)
Makes a directory.
enum FindFileFlags FindFile(string pattern, out string fileName, out FileAttr fileAttributes, FindFileFlags flags)
proto bool FindNextFile(FindFileHandle handle, out string fileName, out FileAttr fileAttributes)
proto bool FileExist(string name)
Check existence of file.
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'.
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
PluginBase GetPlugin(typename plugin_type)