DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ContaminatedArea_Local.c
См. документацию.
2{
3 const float TICK_RATE = 1;
4 ref Timer m_Timer1 = new Timer;
5 float m_Lifetime = 360;
6
8 {
9 m_EffectsPriority = -10;
10 }
11
12 override void SetupZoneData(EffectAreaParams params)
13 {
14 params.m_ParamPartId = ParticleList.CONTAMINATED_AREA_GAS_AROUND;
15 params.m_ParamInnerRings = 0;
16 params.m_ParamPosHeight = 3;
17 params.m_ParamNegHeight = 3;
18 params.m_ParamRadius = 10;
19 params.m_ParamOuterToggle = false;
20 params.m_ParamTriggerType = "ContaminatedTrigger_Local";
21
22 params.m_ParamAroundPartId = 0;
23 params.m_ParamTinyPartId = 0;
24
25 super.SetupZoneData(params);
26
27 InitZone();
28 }
29
30 override void EEInit()
31 {
32 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
33 m_Timer1.Run(TICK_RATE, this, "Tick", NULL, true);
34 }
35
36 override void DeferredInit()
37 {
38 #ifndef NO_GUI
39 if (!m_ToxicClouds)
40 m_ToxicClouds = new array<Particle>();
41 #endif
42
43 SetupZoneData(new EffectAreaParams);
44
45 super.DeferredInit();
46 }
47
48 override void SpawnParticles(ParticlePropertiesArray props, vector centerPos, vector partPos, inout int count)
49 {
50 #ifndef NO_GUI
51 partPos[1] = g_Game.SurfaceRoadY(partPos[0], partPos[2]); // Snap particles to ground
52
53 // We make sure that spawned particle is inside the trigger
54 if (!Math.IsInRange(partPos[1], centerPos[1] - m_NegativeHeight, centerPos[1] + m_PositiveHeight))
55 partPos[1] = centerPos[1];
56
57 props.Insert(ParticleProperties(partPos, ParticlePropertiesFlags.PLAY_ON_CREATION, null, g_Game.GetSurfaceOrientation( partPos[0], partPos[2] ), this));
58 ++count;
59 #endif
60 }
61
62 override float GetStartDecayLifetime()
63 {
64 return 20;
65 }
66
67 override float GetFinishDecayLifetime()
68 {
69 return 10;
70 }
71
72 override float GetRemainingTime()
73 {
74 return m_Lifetime;
75 }
76
77 override void Tick()
78 {
80 if (m_Lifetime <= 0)
81 Delete();
82 }
83}
override void InitZone()
Определения ContaminatedArea_DynamicBase.c:61
void ContaminatedArea_DynamicBase()
Определения ContaminatedArea_DynamicBase.c:22
DayZGame g_Game
Определения DayZGame.c:4074
const float TICK_RATE
Определения ContaminatedArea_Local.c:3
override void EEInit()
Определения ContaminatedArea_Local.c:30
override void SetupZoneData(EffectAreaParams params)
Определения ContaminatedArea_Local.c:12
override void DeferredInit()
Определения ContaminatedArea_Local.c:36
override void SpawnParticles(ParticlePropertiesArray props, vector centerPos, vector partPos, inout int count)
Определения ContaminatedArea_Local.c:48
override float GetRemainingTime()
Определения ContaminatedArea_Local.c:72
void ContaminatedArea_Local()
Определения ContaminatedArea_Local.c:7
override float GetFinishDecayLifetime()
Определения ContaminatedArea_Local.c:67
override float GetStartDecayLifetime()
Определения ContaminatedArea_Local.c:62
ref Timer m_Timer1
Определения ContaminatedArea_Local.c:4
override void Tick()
Определения ContaminatedArea_Local.c:77
Определения EnMath.c:7
static const int CONTAMINATED_AREA_GAS_AROUND
Определения ParticleList.c:317
Определения ParticleList.c:12
Определения DayZPlayerImplement.c:39
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:119
static proto bool IsInRange(float v, float min, float max)
Returns if value is between min and max (inclusive)