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

◆ Execute()

override void UniversalTemperatureSourceLambdaBaseImpl::Execute ( UniversalTemperatureSourceSettings pSettings,
UniversalTemperatureSourceResult resultValues )
inlineprotected

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

139 {
140 resultValues.m_TemperatureItem = pSettings.m_TemperatureItemCap;
141 resultValues.m_TemperatureHeatcomfort = pSettings.m_TemperatureCap;
142
143 vector pos = pSettings.m_Position;
144 if (pSettings.m_Parent != null)
145 pos = pSettings.m_Parent.GetPosition();
146
147 // Define half-size (range)
148 float halfRange = pSettings.m_RangeMax;
149
150 // Calculate min and max positions of the box
151 vector minPos = pos - Vector(halfRange, halfRange / 2, halfRange);
152 vector maxPos = pos + Vector(halfRange, halfRange / 2, halfRange);
153
154 array<EntityAI> nearestObjects = {};
155 DayZPlayerUtils.SceneGetEntitiesInBox(minPos, maxPos, nearestObjects, QueryFlags.DYNAMIC);
156
157 for (int i = nearestObjects.Count() - 1; i >= 0; --i)
158 {
159 EntityAI entity = nearestObjects[i];
160 if (entity)
161 {
162 vector objPos = entity.GetPosition();
163 float distance = vector.Distance(objPos, pos);
164 if (distance > pSettings.m_RangeMax)
165 nearestObjects.Remove(i);
166 }
167 }
168
169 if (nearestObjects.Count() > 0)
170 {
171 DryItemsInVicinity(pSettings, pos, nearestObjects);
172 WarmAndCoolItemsInVicinity(pSettings, pos, nearestObjects);
173 }
174 }
class LogManager EntityAI
void DayZPlayerUtils()
cannot be instantiated
Определения DayZPlayerUtils.c:465
QueryFlags
Определения DayZPlayerUtils.c:2
override void WarmAndCoolItemsInVicinity(UniversalTemperatureSourceSettings pSettings, vector position, out notnull array< EntityAI > nearestObjects)
override void DryItemsInVicinity(UniversalTemperatureSourceSettings pSettings, vector position, out notnull array< EntityAI > nearestObjects)
vector m_Position
if the stats can be overriden by coefficient/variables from WorldData (currently TemperatureCap only)
Определения UniversalTemperatureSource.c:18
float m_TemperatureCap
used to determine speed of temperature change, and some temperature subsystems
Определения UniversalTemperatureSource.c:6
float m_RangeMax
range where the full temperature is given to receiver
Определения UniversalTemperatureSource.c:8
float m_TemperatureItemCap
how often the Update is ticking
Определения UniversalTemperatureSource.c:4
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки DayZPlayerUtils(), vector::Distance(), DryItemsInVicinity(), UniversalTemperatureSourceSettings::m_Parent, UniversalTemperatureSourceSettings::m_Position, UniversalTemperatureSourceSettings::m_RangeMax, UniversalTemperatureSourceSettings::m_TemperatureCap, UniversalTemperatureSourceSettings::m_TemperatureItemCap, Vector() и WarmAndCoolItemsInVicinity().