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

◆ UpdateInsiders()

void AreaDamageTriggerBase::UpdateInsiders ( int timeout)
inlineprotected

DEBUG

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

79 {
80 if ( GetGame().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:3868
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
proto native CGame GetGame()
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9

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