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

◆ FindAndConsumeEnergy()

bool ComponentEnergyManager::FindAndConsumeEnergy ( EntityAI original_caller,
float amount,
bool ignore_switch_state = false )
inlineprotected

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

1718 {
1719 if ((ignore_switch_state || IsSwitchedOn()) && m_ThisEntityAI && !m_ThisEntityAI.IsRuined())
1720 {
1721 float available_energy = AddEnergy(-amount);
1722
1723 if (available_energy < 0 && IsPlugged())
1724 {
1725 // This devices does not has enough of stored energy, therefore it will take it from its power source (which can be a chain of cable reels)
1726 EntityAI next_power_source = GetEnergySource();
1727
1728 if (next_power_source && next_power_source != original_caller) // Prevents infinite loop if the power source is the original caller itself
1729 {
1730 return next_power_source.GetCompEM().FindAndConsumeEnergy(original_caller, -available_energy);
1731 }
1732 }
1733
1734 if (available_energy >= 0)
1735 {
1736 return true;
1737 }
1738
1739 return false;
1740 }
1741 else
1742 {
1743 return false;
1744 }
1745 }
class LogManager EntityAI
EntityAI m_ThisEntityAI
Определения Component.c:24
float AddEnergy(float added_energy)
Energy manager: Adds energy to this device and clamps it within its min/max storage limits....
Определения ComponentEnergyManager.c:1252
bool IsPlugged()
Energy manager: Returns true if this device is plugged into some other device (even if they are OFF o...
Определения ComponentEnergyManager.c:905
EntityAI GetEnergySource()
Energy manager: Returns the energy source this device is plugged into.
Определения ComponentEnergyManager.c:1324
bool IsSwitchedOn()
Energy manager: Returns state of the switch. Whenever the device is working or not does not matter....
Определения ComponentEnergyManager.c:884

Перекрестные ссылки AddEnergy(), GetEnergySource(), IsPlugged(), IsSwitchedOn() и Component::m_ThisEntityAI.

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