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

◆ GetClosestBunker()

Land_WarheadStorage_Main Land_WarheadStorage_PowerStation::GetClosestBunker ( )
inlineprotected

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

306 {
307 Land_WarheadStorage_Main closestBunker;
308 closestBunker = m_BunkerStationMap.Get(this);
309 if (closestBunker)
310 return closestBunker;
311
312 float smallestDist = float.MAX;
313 vector thisPos = GetPosition();
314
315 if (!m_Bunkers)
316 return null;
317
318 foreach (Land_WarheadStorage_Main bunker:m_Bunkers)
319 {
320 float dist = vector.DistanceSq(bunker.GetPosition(),thisPos);
321 if (dist < smallestDist)
322 {
323 closestBunker = bunker;
324 smallestDist =dist;
325 }
326 }
327
329 {
330 m_InitBunkerState = true;
331
332 if (GetGame().IsServer() && m_PowerGenerator && m_PowerGenerator.GetCompEM().IsWorking())
333 closestBunker.SetPowerServer(true);
334 }
335
336 m_BunkerStationMap.Insert(this, closestBunker);
337
338 return closestBunker;
339 }
void SetPowerServer(bool hasPower)
Определения Land_WarheadStorage_Main.c:76
static ref map< Land_WarheadStorage_PowerStation, Land_WarheadStorage_Main > m_BunkerStationMap
PowerGeneratorStatic m_PowerGenerator
static ref set< Land_WarheadStorage_Main > m_Bunkers
proto native CGame GetGame()
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9

Перекрестные ссылки vector::DistanceSq(), GetGame(), GetPosition, m_Bunkers, m_BunkerStationMap, m_InitBunkerState, m_PowerGenerator и Land_WarheadStorage_Main::SetPowerServer().

Используется в OnGeneratorStart(), OnGeneratorStop() и UpdateLeverStatesServer().