Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
scenedata.c
Go to the documentation of this file.
1 class SceneData
2 {
3  protected string m_NameScene;
4  protected string m_NameMission;
5  protected float m_InitTime;
6  protected int m_DateInitYear;
7  protected int m_DateInitMonth;
8  protected int m_DateInitDay;
9  protected int m_DateInitHour;
10  protected int m_DateInitMinute;
11  protected float m_WeaterInitOvercast;
12  protected float m_WeaterInitRain;
13  protected float m_WeaterInitFog;
14  protected float m_WeaterInitWindForce;
15 
16  protected ref array<ref SceneObject> m_Objects;
17  protected ref array<ref ScenePlayer> m_Players;
18  protected ref array<ref SceneObject> m_AllObjs;
19 
20  //========================================
21  // Constructor -> SceneData
22  //========================================
23  void SceneData()
24  {
25  m_Objects = new array<ref SceneObject>;
26  m_Players = new array<ref ScenePlayer>;
27  m_AllObjs = new array<ref SceneObject>;
28  }
29 
30  //========================================
31  // GetSceneObjects
32  //========================================
33  array<ref SceneObject> GetSceneObjects()
34  {
35  return m_Objects;
36  }
37 
38  //========================================
39  // GetScenePlayers
40  //========================================
41  array<ref ScenePlayer> GetScenePlayers()
42  {
43  return m_Players;
44  }
45 
46  //========================================
47  // GetSceneObjectsAll
48  //========================================
49  array<ref SceneObject> GetSceneObjectsAll()
50  {
51  array<ref ScenePlayer> scene_players = GetScenePlayers();
52  array<ref SceneObject> scene_object = GetSceneObjects();
53 
54  m_AllObjs.Clear();
55 
56  foreach (auto p: scene_players)
57  {
58  m_AllObjs.Insert(p);
59  }
60 
61  foreach (auto o: scene_object)
62  {
63  m_AllObjs.Insert(o);
64  }
65 
66 
67 
68  return m_AllObjs;
69  }
70 
71  //========================================
72  // GetNameScene
73  //========================================
74  string GetNameScene()
75  {
76  return m_NameScene;
77  }
78 
79  //========================================
80  // SetNameScene
81  //========================================
82  void SetNameScene(string name)
83  {
84  m_NameScene = name;
85  }
86 
87  //========================================
88  // GetNameMission
89  //========================================
90  string GetNameMission()
91  {
92  return m_NameMission;
93  }
94 
95  //========================================
96  // SetNameMission
97  //========================================
98  void SetNameMission(string name)
99  {
100  m_NameMission = name;
101  }
102 
103  //========================================
104  // GetInitTime
105  //========================================
106  float GetInitTime()
107  {
108  return m_InitTime;
109  }
110 
111  //========================================
112  // SetInitTime
113  //========================================
114  void SetInitTime(float time)
115  {
116  m_InitTime = time;
117  }
118 
119 
120  //========================================
121  // GetInitYear
122  //========================================
123  int GetInitYear()
124  {
125  return m_DateInitYear;
126  }
127 
128  //========================================
129  // SetInitYear
130  //========================================
131  void SetInitYear(int value)
132  {
133  m_DateInitYear = value;
134  GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
135  }
136 
137  //========================================
138  // GetInitMonth
139  //========================================
140  int GetInitMonth()
141  {
142  return m_DateInitMonth;
143  }
144 
145  //========================================
146  // SetInitMonth
147  //========================================
148  void SetInitMonth(int value)
149  {
150  m_DateInitMonth = value;
151  GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
152  }
153 
154  //========================================
155  // GetInitDay
156  //========================================
157  int GetInitDay()
158  {
159  return m_DateInitDay;
160  }
161 
162  //========================================
163  // SetInitDay
164  //========================================
165  void SetInitDay(int value)
166  {
167  m_DateInitDay = value;
168  GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
169  }
170 
171  //========================================
172  // GetInitHour
173  //========================================
174  int GetInitHour()
175  {
176  return m_DateInitHour;
177  }
178 
179  //========================================
180  // SetInitHour
181  //========================================
182  void SetInitHour(int value)
183  {
184  m_DateInitHour = value;
185  GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
186  }
187 
188  //========================================
189  // GetInitMinute
190  //========================================
191  int GetInitMinute()
192  {
193  return m_DateInitMinute;
194  }
195 
196  //========================================
197  // SetInitMinute
198  //========================================
199  void SetInitMinute(int value)
200  {
201  m_DateInitMinute = value;
202  GetGame().GetWorld().SetDate( m_DateInitYear, m_DateInitMonth, m_DateInitDay, m_DateInitHour, m_DateInitMinute );
203  }
204 
205  //========================================
206  // GetInitOvercast
207  //========================================
208  float GetInitOvercast()
209  {
210  return m_WeaterInitOvercast;
211  }
212 
213  //========================================
214  // SetInitOvercast
215  //========================================
216  void SetInitOvercast(float value)
217  {
218  m_WeaterInitOvercast = value;
219  GetGame().GetWeather().GetOvercast().Set( value, 0, 1000 );
220  }
221 
222  //========================================
223  // GetInitRain
224  //========================================
225  float GetInitRain()
226  {
227  return m_WeaterInitRain;
228  }
229 
230  //========================================
231  // SetInitRain
232  //========================================
233  void SetInitRain(float value)
234  {
235  m_WeaterInitRain = value;
236  GetGame().GetWeather().GetRain().Set( value, 0, 1000 );
237  }
238 
239  //========================================
240  // GetInitFog
241  //========================================
242  float GetInitFog()
243  {
244  return m_WeaterInitFog;
245  }
246 
247  //========================================
248  // SetInitFog
249  //========================================
250  void SetInitFog(float value)
251  {
252  m_WeaterInitFog = value;
253  GetGame().GetWeather().GetFog().Set( value, 0, 1000 );
254  }
255 
256  //========================================
257  // GetInitWindForce
258  //========================================
259  float GetInitWindForce()
260  {
261  return m_WeaterInitWindForce;
262  }
263 
264  //========================================
265  // SetInitWindForce
266  //========================================
267  void SetInitWindForce(float value)
268  {
269  // The following method SetWindSpeed does not support smaller values than 0.1!
270  if (value > 0.1)
271  {
272  m_WeaterInitWindForce = value;
273  }
274  else
275  {
276  m_WeaterInitWindForce = 0.1;
277  }
278 
279  GetGame().GetWeather().SetWindSpeed( m_WeaterInitWindForce );
280  }
281 
282  //========================================
283  // CreateSceneObject
284  //========================================
285  SceneObject CreateSceneObject(string obj_name, vector pos)
286  {
287  SceneObject sc_obj = new SceneObject();
288  sc_obj.Init(obj_name, pos);
289 
290  if ( sc_obj != NULL )
291  {
292  m_Objects.Insert(sc_obj);
293 
294  return sc_obj;
295  }
296 
297  return NULL;
298  }
299 
300  //========================================
301  // CreateScenePlayer
302  //========================================
303  ScenePlayer CreateScenePlayer()
304  {
305  ScenePlayer sc_ply = new ScenePlayer();
306  sc_ply.Init(STRING_EMPTY, Vector(0,0,0));
307 
308  m_Players.Insert(sc_ply);
309 //PrintString("CreateScenePlayer Add => "+ m_Players.Count().ToString() );
310  return sc_ply;
311  }
312 
313  //========================================
314  // Clear
315  //========================================
316  void Clear()
317  {
318  m_Objects.Clear();
319  m_Players.Clear();
320  m_AllObjs.Clear();
321  }
322 
323  //========================================
324  // AddObject
325  //========================================
326  SceneObject AddObject(EntityAI e)
327  {
328  SceneObject sc_obj = new SceneObject();
329  sc_obj.Init("player", e.GetPosition());
330 
331  sc_obj.LinkEntityAI( e );
332 
333  if ( sc_obj.IsPlayer() )
334  {
335  m_Players.Insert( ScenePlayer.Cast( sc_obj ) );
336  }
337  else
338  {
339  m_Objects.Insert( sc_obj );
340  }
341 
342  return sc_obj;
343  }
344 
345  //========================================
346  // GetSceneObjectByEntityAI
347  //========================================
348  SceneObject GetSceneObjectByEntityAI(EntityAI e)
349  {
350  for ( int i = 0; i < m_Players.Count(); ++i )
351  {
352  EntityAI ply = m_Players.Get(i).GetObject();
353 
354  if ( ply != NULL && ply == e )
355  {
356  return m_Players.Get(i);
357  }
358  }
359 
360  for ( int j = 0; j < m_Objects.Count(); ++j )
361  {
362  EntityAI obj = m_Objects.Get(j).GetObject();
363 
364  if ( obj != NULL && obj == e )
365  {
366  return m_Objects.Get(j);
367  }
368  }
369 
370  return NULL;
371  }
372 
373  //========================================
374  // DeleteSceneObject
375  //========================================
376  void DeleteSceneObject(SceneObject scene_object)
377  {
378  int index_p = m_Players.Find( ScenePlayer.Cast( scene_object ) );
379 
380  if ( index_p != -1 )
381  {
382  m_Players.Remove(index_p);
383  }
384 
385 
386  int index_o = m_Objects.Find(scene_object);
387 
388  if ( index_o != -1 )
389  {
390  m_Objects.Remove(index_o);
391  }
392  }
393 }
GetGame
proto native CGame GetGame()
STRING_EMPTY
const string STRING_EMPTY
Definition: constants.c:54
SceneObject
Definition: sceneobject.c:1
vector
Definition: enconvert.c:105
array< ref SceneObject >
name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
EntityAI
Definition: building.c:5
SceneData
Definition: scenedata.c:1