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

◆ FindAndConsumeEnergy()

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

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

1748 {
1749 if ((ignore_switch_state || IsSwitchedOn()) && m_ThisEntityAI && !m_ThisEntityAI.IsRuined())
1750 {
1751 float available_energy = AddEnergy(-amount);
1752
1753 if (available_energy < 0 && IsPlugged())
1754 {
1755 // 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)
1756 EntityAI next_power_source = GetEnergySource();
1757
1758 if (next_power_source && next_power_source != original_caller) // Prevents infinite loop if the power source is the original caller itself
1759 {
1760 return next_power_source.GetCompEM().FindAndConsumeEnergy(original_caller, -available_energy);
1761 }
1762 }
1763
1764 if (available_energy >= 0)
1765 {
1766 return true;
1767 }
1768
1769 return false;
1770 }
1771 else
1772 {
1773 return false;
1774 }
1775 }
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:1265
bool IsPlugged()
Energy manager: Returns true if this device is plugged into some other device (even if they are OFF o...
Определения ComponentEnergyManager.c:918
EntityAI GetEnergySource()
Energy manager: Returns the energy source this device is plugged into.
Определения ComponentEnergyManager.c:1337
bool IsSwitchedOn()
Energy manager: Returns state of the switch. Whenever the device is working or not does not matter....
Определения ComponentEnergyManager.c:897

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

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