DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
AreaDamageComponent.c
См. документацию.
2{
3 string Hitzone = "";
4 vector Modelpos = "0.5 0.5 0.5";
5}
6
8{
10
12 string m_AmmoName;
13
14 ref array<typename> m_DamageableTypes
15
17 {
18 m_Parent = parent;
19
20 m_DamageType = DamageType.CUSTOM;
21 m_AmmoName = "MeleeDamage";
22
23 m_DamageableTypes = new array<typename>;
24 m_DamageableTypes.Insert(DayZPlayer);
25 }
26
27 override bool OnEvaluateDamage(TriggerInsider insider, float damageCoef)
28 {
29 // No need to damage if the coef is 0!
30 if ( ShouldDamage(insider.GetObject()) && damageCoef > 0 )
31 return EvaluateDamageInternal(insider, damageCoef);
32
33 return false;
34 }
35
36 override void PreDamageActions()
37 {
38 m_Parent.PreDamageActions();
39 }
40
41 override void PostDamageActions()
42 {
43 m_Parent.PostDamageActions();
44 }
45
46 protected bool ShouldDamage(Object object)
47 {
48 return object && object.IsAlive() && object.IsAnyInherited( m_DamageableTypes );
49 }
50
55
56 private bool EvaluateDamageInternal(TriggerInsider insider, float damageCoef)
57 {
59
61 if ( CastTo( dInsider, insider ) )
62 dInsider.lastDamaged = g_Game.GetTickTime();
63
64 Object object = insider.GetObject();
65
67 object.ProcessDirectDamage(m_DamageType, m_Parent.GetParentObject(), data.Hitzone, m_AmmoName, data.Modelpos, damageCoef);
68
70
71 return true;
72 }
73}
ref array< typename > m_DamageableTypes void AreaDamageComponent(AreaDamageManager parent)
Определения AreaDamageComponent.c:16
AreaDamageComponentData GetAreaDamageComponentData(Object object)
Определения AreaDamageComponent.c:51
bool ShouldDamage(Object object)
Определения AreaDamageComponent.c:46
bool EvaluateDamageInternal(TriggerInsider insider, float damageCoef)
Определения AreaDamageComponent.c:56
string m_AmmoName
Определения AreaDamageComponent.c:12
int m_DamageType
Определения AreaDamageComponent.c:11
override bool OnEvaluateDamage(TriggerInsider insider, float damageCoef)
Tell the AreaDamageComponent to calculate and apply the damage to the Object.
Определения AreaDamageManager.c:193
override void PostDamageActions()
Usually called from AreaDamageComponent.
Определения AreaDamageManager.c:206
void AreaDamageManager(EntityAI parent)
Определения AreaDamageManager.c:22
override void PreDamageActions()
Usually called from AreaDamageComponent.
Определения AreaDamageManager.c:199
DamageType
exposed from C++ (do not change)
Определения DamageSystem.c:11
DayZGame g_Game
Определения DayZGame.c:3868
Widget m_Parent
Определения SizeToChild.c:92
vector Modelpos
Определения AreaDamageComponent.c:4
string Hitzone
Определения AreaDamageComponent.c:3
Events used across AreaDamage API, calling of these needs to be handled by parent.
Определения AreaDamageEvents.c:3
float lastDamaged
Last time the object was damaged in seconds.
Определения AreaDamageTriggerBase.c:5
Extended TriggerInsider for AreaDamageTriggerBase.
Определения AreaDamageTriggerBase.c:3
Определения ObjectTyped.c:2
Object GetObject()
Определения Trigger.c:28
The object which is in a trigger and its metadata.
Определения Trigger.c:3
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:106