Dayz Explorer
1.28.160049
Loading...
Searching...
No Matches
misceffects.c
Go to the documentation of this file.
1
class
MiscEffects
:
Managed
2
{
3
protected
static
const
int
VEGE_COLLISION_COOLDOWN
= 3000;
// ms
4
protected
static
ref
map <Object, float>
m_VegeCollideColldowns
=
new
map <Object, float>
();
5
6
// Called by individual clients when player collides with a vegetation
7
static
void
PlayVegetationCollideParticles
(
Object
object
,
DayZPlayerImplement
player)
8
{
9
UpdateVegeCollisionCooldowns
();
10
if
(
m_VegeCollideColldowns
.Get(
object
))
11
return
;
12
13
int
particleID;
14
string
particleName;
15
string
configPath =
"CfgNonAIVehicles "
+
object
.GetType() +
" collisionParticle"
;
16
GetGame
().ConfigGetText(configPath, particleName);
17
if
(particleName ==
string
.
Empty
)
// no ptc assigned
18
return
;
19
20
particleID =
ParticleList
.GetParticleIDByName(particleName);
21
vector
playerPos = player.GetPosition();
22
vector
ptcPos = playerPos -
object
.GetPosition();
23
24
ptcPos[0] = ptcPos[0] *
Math
.RandomFloat(0, 0.5);
// randomize
25
ptcPos[2] = ptcPos[2] *
Math
.RandomFloat(0, 0.5);
26
27
ptcPos = playerPos - ptcPos;
28
ptcPos[1] = playerPos[1] +
Math
.RandomFloat(0.5, 1.5);
29
30
ParticleManager
.GetInstance().PlayInWorld(particleID, ptcPos);
31
32
m_VegeCollideColldowns
.Insert(
object
,
GetWorldTime
());
33
}
34
35
protected
static
void
UpdateVegeCollisionCooldowns
()
36
{
37
float
time =
GetWorldTime
();
38
foreach
(
Object
key,
float
cd :
m_VegeCollideColldowns
)
39
{
40
if
((time - cd) >
VEGE_COLLISION_COOLDOWN
)
41
{
42
m_VegeCollideColldowns
.Remove(key);
43
break
;
44
}
45
}
46
}
47
}
DayZPlayerImplement
Definition
manbase.c:2
Managed
TODO doc.
Definition
enscript.c:118
Math
Definition
enmath.c:7
MiscEffects
Definition
misceffects.c:2
MiscEffects::PlayVegetationCollideParticles
static void PlayVegetationCollideParticles(Object object, DayZPlayerImplement player)
Definition
misceffects.c:7
MiscEffects::VEGE_COLLISION_COOLDOWN
static const int VEGE_COLLISION_COOLDOWN
Definition
misceffects.c:3
MiscEffects::UpdateVegeCollisionCooldowns
static void UpdateVegeCollisionCooldowns()
Definition
misceffects.c:35
MiscEffects::m_VegeCollideColldowns
static ref map< Object, float > m_VegeCollideColldowns
Definition
misceffects.c:4
Object
Definition
objecttyped.c:2
ParticleList
Definition
particlelist.c:12
vector
Definition
enconvert.c:106
map
map
Definition
controlsxboxnew.c:4
GetGame
proto native CGame GetGame()
GetWorldTime
proto native float GetWorldTime()
Empty
Empty
Definition
hand_states.c:14
ParticleManager
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Definition
particlemanager.c:88
Daten
4_world
static
misceffects.c
Generated by
1.12.0