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

◆ TransferEntityVariables()

static void TransferEntityVariables ( EntityAI source,
EntityAI target,
bool exclude_quantity = false )
staticprotected

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

289 {
290 if (exclude_quantity)
291 {
292 int maskOriginal = source.m_VariablesMask;
293 source.RemoveItemVariable(VARIABLE_QUANTITY);
294 target.TransferVariablesFloat(source.GetVariablesFloat());
295 source.m_VariablesMask = maskOriginal;
296 }
297 else
298 {
299 target.TransferVariablesFloat(source.GetVariablesFloat());
300 }
301
302 if (source.IsMagazine() && target.IsMagazine())
303 {
304 Magazine source_mag = Magazine.Cast(source);
305 Magazine target_mag = Magazine.Cast(target);
306
307 target_mag.ServerSetAmmoCount(source_mag.GetAmmoCount());
308 }
309
310 if (source.IsWeapon() && target.IsWeapon())
311 {
312 Weapon_Base source_wpn = Weapon_Base.Cast(source);
313 Weapon_Base target_wpn = Weapon_Base.Cast(target);
314
315 target_wpn.CopyWeaponStateFrom(source_wpn);
316 }
317
318 if (source.HasEnergyManager() && target.HasEnergyManager())
319 {
320 ComponentEnergyManager ems = source.GetCompEM();
321 ComponentEnergyManager emt = target.GetCompEM();
322
323 emt.SetEnergy(ems.GetEnergy());
324
325 if (ems.IsSwitchedOn())
326 emt.SwitchOn();
327 }
328
329 Edible_Base source_edb = Edible_Base.Cast(source);
330 Edible_Base target_edb = Edible_Base.Cast(target);
331 if (Class.CastTo(source_edb,source) && Class.CastTo(target_edb,target))
332 {
333 if (source_edb.CanDecay() && target_edb.CanDecay())
334 target_edb.TransferFoodStage(source_edb);
335 }
336 }
Super root of all classes in Enforce script.
Определения EnScript.c:11
void SwitchOn()
Energy manager: Switches ON the device so it starts doing its work if it has enough energy.
Определения ComponentEnergyManager.c:375
float GetEnergy()
Energy manager: Returns the amount of stored energy this device has.
Определения ComponentEnergyManager.c:1214
void SetEnergy(float new_energy)
Energy manager: Sets stored energy for this device. It ignores the min/max limit!
Определения ComponentEnergyManager.c:525
bool IsSwitchedOn()
Energy manager: Returns state of the switch. Whenever the device is working or not does not matter....
Определения ComponentEnergyManager.c:866
override bool CanDecay()
Определения Edible_Base.c:730
void TransferFoodStage(notnull Edible_Base source)
Определения Edible_Base.c:619
Определения Edible_Base.c:2
shorthand
Определения BoltActionRifle_Base.c:6
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const int VARIABLE_QUANTITY
Определения constants.c:626

Перекрестные ссылки Edible_Base::CanDecay(), Class::CastTo(), ComponentEnergyManager::GetEnergy(), ComponentEnergyManager::IsSwitchedOn(), ComponentEnergyManager::SetEnergy(), ComponentEnergyManager::SwitchOn(), Edible_Base::TransferFoodStage() и VARIABLE_QUANTITY.

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