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

◆ Execute()

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

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

137 {
138 resultValues.m_TemperatureItem = pSettings.m_TemperatureItemCap;
139 resultValues.m_TemperatureHeatcomfort = pSettings.m_TemperatureCap;
140
141 vector pos = pSettings.m_Position;
142 if (pSettings.m_Parent != null)
143 pos = pSettings.m_Parent.GetPosition();
144
145 // Define half-size (range)
146 float halfRange = pSettings.m_RangeMax;
147
148 // Calculate min and max positions of the box
149 vector minPos = pos - Vector(halfRange, halfRange / 2, halfRange);
150 vector maxPos = pos + Vector(halfRange, halfRange / 2, halfRange);
151
152 array<EntityAI> nearestObjects = {};
153 DayZPlayerUtils.SceneGetEntitiesInBox(minPos, maxPos, nearestObjects, QueryFlags.DYNAMIC);
154
155 for (int i = nearestObjects.Count() - 1; i >= 0; --i)
156 {
157 EntityAI entity = nearestObjects[i];
158 if (entity)
159 {
160 vector objPos = entity.GetPosition();
161 float distance = vector.Distance(objPos, pos);
162 if (distance > pSettings.m_RangeMax)
163 nearestObjects.Remove(i);
164 }
165 }
166
167 if (nearestObjects.Count() > 0)
168 {
169 DryItemsInVicinity(pSettings, pos, nearestObjects);
170 WarmAndCoolItemsInVicinity(pSettings, pos, nearestObjects);
171 }
172 }
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:19
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().