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

◆ GetClosestBunker()

Land_WarheadStorage_Main Land_WarheadStorage_PowerStation::GetClosestBunker ( )
inlineprotected

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

308 {
309 Land_WarheadStorage_Main closestBunker;
310 closestBunker = m_BunkerStationMap.Get(this);
311 if (closestBunker)
312 return closestBunker;
313
314 float smallestDist = float.MAX;
315 vector thisPos = GetPosition();
316
317 if (!m_Bunkers)
318 return null;
319
320 foreach (Land_WarheadStorage_Main bunker:m_Bunkers)
321 {
322 float dist = vector.DistanceSq(bunker.GetPosition(),thisPos);
323 if (dist < smallestDist)
324 {
325 closestBunker = bunker;
326 smallestDist =dist;
327 }
328 }
329
331 {
332 m_InitBunkerState = true;
333
334 if (g_Game.IsServer() && m_PowerGenerator && m_PowerGenerator.GetCompEM().IsWorking())
335 closestBunker.SetPowerServer(true);
336 }
337
338 m_BunkerStationMap.Insert(this, closestBunker);
339
340 return closestBunker;
341 }
DayZGame g_Game
Определения DayZGame.c:4074
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
vector GetPosition()
Get the world position of the Effect.
Определения Effect.c:473

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

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