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

◆ FindAndConsumeEnergy()

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

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

1685 {
1686 if ( (ignore_switch_state || IsSwitchedOn()) && !m_ThisEntityAI.IsRuined() )
1687 {
1688 float available_energy = AddEnergy(-amount);
1689
1690 if ( available_energy < 0 && IsPlugged() )
1691 {
1692 // 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)
1693 EntityAI next_power_source = GetEnergySource();
1694
1695 if (next_power_source && next_power_source != original_caller) // Prevents infinite loop if the power source is the original caller itself
1696 {
1697 return next_power_source.GetCompEM().FindAndConsumeEnergy( original_caller, -available_energy );
1698 }
1699 }
1700
1701 if ( available_energy >= 0)
1702 {
1703 return true;
1704 }
1705
1706 return false;
1707 }
1708 else
1709 {
1710 return false;
1711 }
1712 }
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:1220
bool IsPlugged()
Energy manager: Returns true if this device is plugged into some other device (even if they are OFF o...
Определения ComponentEnergyManager.c:887
EntityAI GetEnergySource()
Energy manager: Returns the energy source this device is plugged into.
Определения ComponentEnergyManager.c:1292
bool IsSwitchedOn()
Energy manager: Returns state of the switch. Whenever the device is working or not does not matter....
Определения ComponentEnergyManager.c:866

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

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