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

◆ GatherTemperatureSources()

void PluginBase::GatherTemperatureSources ( PlayerBase player)
inlineprotected

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

32 {
34
35 if (!player)
36 return;
37
38 vector playerPos = player.GetPosition();
39 array<Object> nearestObjects = new array<Object>();
40
41 GetGame().GetObjectsAtPosition(playerPos, LOOKUP_RADIUS, nearestObjects, null);
42
43 UTemperatureSource uts;
44 UTemperatureSourceDebug utsd;
45
46 foreach (Object nearestObject : nearestObjects)
47 {
48 EntityAI ent = EntityAI.Cast(nearestObject);
49 if (ent && ent.IsUniversalTemperatureSource() && ent != player)
50 {
51 uts = ent.GetUniversalTemperatureSource();
52 utsd = new UTemperatureSourceDebug();
53 utsd.AddHeader(ent.GetType());
54 utsd.Add("position", uts.GetPosition().ToString(false));
55 utsd.Add("fullrange", uts.GetFullRange().ToString());
56 utsd.Add("maxrange", uts.GetMaxRange().ToString());
57 utsd.Add("temperatureCap", uts.GetTemperatureCap().ToString());
58 utsd.Add("temperatureItemCap", uts.GetTemperatureItemCap().ToString());
59 utsd.Commit();
60
61 m_UTemperatureSourceDebugs.Insert(utsd);
62 }
63 }
64
65 if (player.GetItemInHands() && player.GetItemInHands().IsUniversalTemperatureSource())
66 {
67 uts = player.GetItemInHands().GetUniversalTemperatureSource();
68 utsd = new UTemperatureSourceDebug();
69 utsd.AddHeader(player.GetItemInHands().GetType());
70 utsd.Add("position", uts.GetPosition().ToString(false));
71 utsd.Add("fullrange", uts.GetFullRange().ToString());
72 utsd.Add("maxrange", uts.GetMaxRange().ToString());
73 utsd.Add("temperatureCap", uts.GetTemperatureCap().ToString());
74 utsd.Add("temperatureItemCap", uts.GetTemperatureItemCap().ToString());
75 utsd.Commit();
76
77 m_UTemperatureSourceDebugs.Insert(utsd);
78 }
79 }
class LogManager EntityAI
proto native void GetObjectsAtPosition(vector pos, float radius, out array< Object > objects, out array< CargoBase > proxyCargos)
Returns list of all objects in circle "radius" around position "pos".
const float LOOKUP_RADIUS
[s]
ref array< ref UTemperatureSourceDebug > m_UTemperatureSourceDebugs
class LOD Object
proto native CGame GetGame()

Перекрестные ссылки GetGame(), CGame::GetObjectsAtPosition(), LOOKUP_RADIUS и m_UTemperatureSourceDebugs.

Используется в SendDebug().