DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdateInsiders()

void AreaDamageTriggerBase::UpdateInsiders ( int timeout)
inlineprotected

DEBUG

См. определение в файле AreaDamageTrigger.c строка 78

79 {
80 if ( g_Game.IsServer() )
81 {
82 for (int n = 0; n < m_insiders.Count(); )
83 {
84 TriggerInsider ins = m_insiders.Get(n);
85 if ( ins.GetObject() == null )
86 {
87 //object has been deleted. Remove it
88 m_insiders.Remove(n);
89 continue;
90 }
91
92 Object insObj = ins.GetObject();
93 if ( insObj && ( !insObj.IsAlive() || vector.DistanceSq(insObj.GetPosition(), GetPosition()) > (m_InnerDistance * m_InnerDistance) ) )
94 {
95 int timeDiff = g_Game.GetTime() - ins.timeStamp;
96 if (timeDiff > 500)
97 {
98 //object left. Remove it
99 OnLeave(ins.GetObject());
100 m_insiders.Remove(n);
101
102 continue;
103 }
104 else
105 {
106 //Print("" + this + " :: " + insObj + " :: " + timeDiff);
107 }
108 }
109
110 ++n;
111 }
112
114 #ifdef DEVELOPER
115 DebugSendDmgTrigger();
116 #endif
117 }
118 }
DayZGame g_Game
Определения DayZGame.c:3942
float m_InnerDistance
Определения AreaDamageTrigger.c:11
override void OnLeave(Object obj)
Определения AreaDamageTrigger.c:70
int timeStamp
Last time the object was seen in ms.
Определения Trigger.c:10
Object GetObject()
Определения Trigger.c:28
class LOD Object
vector GetPosition()
Get the world position of the Effect.
Определения Effect.c:473

Перекрестные ссылки vector::DistanceSq(), g_Game, TriggerInsider::GetObject(), GetPosition(), m_InnerDistance, OnLeave() и TriggerInsider::timeStamp.