123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- class SceneData
- {
- protected string m_NameScene;
- protected string m_NameMission;
- protected float m_InitTime;
- protected int m_DateInitYear;
- protected int m_DateInitMonth;
- protected int m_DateInitDay;
- protected int m_DateInitHour;
- protected int m_DateInitMinute;
- protected float m_WeaterInitOvercast;
- protected float m_WeaterInitRain;
- protected float m_WeaterInitFog;
- protected float m_WeaterInitWindForce;
-
- protected ref array<ref SceneObject> m_Objects;
- protected ref array<ref ScenePlayer> m_Players;
- protected ref array<ref SceneObject> m_AllObjs;
-
- //========================================
- // Constructor -> SceneData
- //========================================
- void SceneData()
- {
- m_Objects = new array<ref SceneObject>;
- m_Players = new array<ref ScenePlayer>;
- m_AllObjs = new array<ref SceneObject>;
- }
-
- //========================================
- // GetSceneObjects
- //========================================
- array<ref SceneObject> GetSceneObjects()
- {
- return m_Objects;
- }
-
- //========================================
- // GetScenePlayers
- //========================================
- array<ref ScenePlayer> GetScenePlayers()
- {
- return m_Players;
- }
-
- //========================================
- // GetSceneObjectsAll
- //========================================
- array<ref SceneObject> GetSceneObjectsAll()
- {
- array<ref ScenePlayer> scene_players = GetScenePlayers();
- array<ref SceneObject> scene_object = GetSceneObjects();
-
- m_AllObjs.Clear();
-
- foreach (auto p: scene_players)
- {
- m_AllObjs.Insert(p);
- }
-
- foreach (auto o: scene_object)
- {
- m_AllObjs.Insert(o);
- }
-
-
-
- return m_AllObjs;
- }
-
- //========================================
- // GetNameScene
- //========================================
- string GetNameScene()
- {
- return m_NameScene;
- }
-
- //========================================
- // SetNameScene
- //========================================
- void SetNameScene(string name)
- {
- m_NameScene = name;
- }
-
- //========================================
- // GetNameMission
- //========================================
- string GetNameMission()
- {
- return m_NameMission;
- }
-
- //========================================
- // SetNameMission
- //========================================
- void SetNameMission(string name)
- {
- m_NameMission = name;
- }
-
- //========================================
- // GetInitTime
- //========================================
- float GetInitTime()
- {
- return m_InitTime;
- }
-
- //========================================
- // SetInitTime
- //========================================
- void SetInitTime(float time)
- {
- m_InitTime = time;
- }
-
-
- //========================================
- // GetInitYear
- //========================================
- int GetInitYear()
- {
- return m_DateInitYear;
- }
-
- //========================================
- // SetInitYear
- //========================================
- void SetInitYear(int value)
- {
- m_DateInitYear = value;
- GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
- }
-
- //========================================
- // GetInitMonth
- //========================================
- int GetInitMonth()
- {
- return m_DateInitMonth;
- }
-
- //========================================
- // SetInitMonth
- //========================================
- void SetInitMonth(int value)
- {
- m_DateInitMonth = value;
- GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
- }
-
- //========================================
- // GetInitDay
- //========================================
- int GetInitDay()
- {
- return m_DateInitDay;
- }
-
- //========================================
- // SetInitDay
- //========================================
- void SetInitDay(int value)
- {
- m_DateInitDay = value;
- GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
- }
-
- //========================================
- // GetInitHour
- //========================================
- int GetInitHour()
- {
- return m_DateInitHour;
- }
-
- //========================================
- // SetInitHour
- //========================================
- void SetInitHour(int value)
- {
- m_DateInitHour = value;
- GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
- }
-
- //========================================
- // GetInitMinute
- //========================================
- int GetInitMinute()
- {
- return m_DateInitMinute;
- }
-
- //========================================
- // SetInitMinute
- //========================================
- void SetInitMinute(int value)
- {
- m_DateInitMinute = value;
- GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
- }
-
- //========================================
- // GetInitOvercast
- //========================================
- float GetInitOvercast()
- {
- return m_WeaterInitOvercast;
- }
-
- //========================================
- // SetInitOvercast
- //========================================
- void SetInitOvercast(float value)
- {
- m_WeaterInitOvercast = value;
- GetGame().GetWeather().GetOvercast().Set( value, 0, 1000 );
- }
-
- //========================================
- // GetInitRain
- //========================================
- float GetInitRain()
- {
- return m_WeaterInitRain;
- }
-
- //========================================
- // SetInitRain
- //========================================
- void SetInitRain(float value)
- {
- m_WeaterInitRain = value;
- GetGame().GetWeather().GetRain().Set( value, 0, 1000 );
- }
-
- //========================================
- // GetInitFog
- //========================================
- float GetInitFog()
- {
- return m_WeaterInitFog;
- }
-
- //========================================
- // SetInitFog
- //========================================
- void SetInitFog(float value)
- {
- m_WeaterInitFog = value;
- GetGame().GetWeather().GetFog().Set( value, 0, 1000 );
- }
-
- //========================================
- // GetInitWindForce
- //========================================
- float GetInitWindForce()
- {
- return m_WeaterInitWindForce;
- }
-
- //========================================
- // SetInitWindForce
- //========================================
- void SetInitWindForce(float value)
- {
- // The following method SetWindSpeed does not support smaller values than 0.1!
- if (value > 0.1)
- {
- m_WeaterInitWindForce = value;
- }
- else
- {
- m_WeaterInitWindForce = 0.1;
- }
-
- GetGame().GetWeather().SetWindSpeed( m_WeaterInitWindForce );
- }
-
- //========================================
- // CreateSceneObject
- //========================================
- SceneObject CreateSceneObject(string obj_name, vector pos)
- {
- SceneObject sc_obj = new SceneObject();
- sc_obj.Init(obj_name, pos);
-
- if ( sc_obj != NULL )
- {
- m_Objects.Insert(sc_obj);
-
- return sc_obj;
- }
-
- return NULL;
- }
-
- //========================================
- // CreateScenePlayer
- //========================================
- ScenePlayer CreateScenePlayer()
- {
- ScenePlayer sc_ply = new ScenePlayer();
- sc_ply.Init(STRING_EMPTY, Vector(0,0,0));
-
- m_Players.Insert(sc_ply);
- //PrintString("CreateScenePlayer Add => "+ m_Players.Count().ToString() );
- return sc_ply;
- }
-
- //========================================
- // Clear
- //========================================
- void Clear()
- {
- m_Objects.Clear();
- m_Players.Clear();
- m_AllObjs.Clear();
- }
-
- //========================================
- // AddObject
- //========================================
- SceneObject AddObject(EntityAI e)
- {
- SceneObject sc_obj = new SceneObject();
- sc_obj.Init("player", e.GetPosition());
-
- sc_obj.LinkEntityAI( e );
-
- if ( sc_obj.IsPlayer() )
- {
- m_Players.Insert( ScenePlayer.Cast( sc_obj ) );
- }
- else
- {
- m_Objects.Insert( sc_obj );
- }
-
- return sc_obj;
- }
-
- //========================================
- // GetSceneObjectByEntityAI
- //========================================
- SceneObject GetSceneObjectByEntityAI(EntityAI e)
- {
- for ( int i = 0; i < m_Players.Count(); ++i )
- {
- EntityAI ply = m_Players.Get(i).GetObject();
-
- if ( ply != NULL && ply == e )
- {
- return m_Players.Get(i);
- }
- }
-
- for ( int j = 0; j < m_Objects.Count(); ++j )
- {
- EntityAI obj = m_Objects.Get(j).GetObject();
-
- if ( obj != NULL && obj == e )
- {
- return m_Objects.Get(j);
- }
- }
-
- return NULL;
- }
-
- //========================================
- // DeleteSceneObject
- //========================================
- void DeleteSceneObject(SceneObject scene_object)
- {
- int index_p = m_Players.Find( ScenePlayer.Cast( scene_object ) );
-
- if ( index_p != -1 )
- {
- m_Players.Remove(index_p);
- }
-
-
- int index_o = m_Objects.Find(scene_object);
-
- if ( index_o != -1 )
- {
- m_Objects.Remove(index_o);
- }
- }
- }
|