#include <EnergyNode.hpp>
|
| EnergyNode (float x, float y, float z, float energy) |
|
| EnergyNode (NodeType type, float x, float y, float z, float energy) |
|
virtual bool | isEnergyNode () |
|
float | getEnergy () const |
|
virtual float | transferEnergy (SpellNode *from, float count) |
|
| SpellNode (NodeType type, float x, float y, float z) |
|
| ~SpellNode () |
|
void | connectNode (SpellNode *otherNode) |
|
void | tick (IEventListener &listener, SpellNode *callable) |
|
bool | inTick () const |
|
float | getDistance (const SpellNode *otherNode) const |
|
NodeType | getType () const |
|
void | iterrator (std::function< void(SpellNode *)> next) |
|
std::set< SpellNode * > & | getConnectedNodes () |
|
float | getX () const |
|
float | getY () const |
|
float | getZ () const |
|
EnergyNode::EnergyNode |
( |
float |
x, |
|
|
float |
y, |
|
|
float |
z, |
|
|
float |
energy |
|
) |
| |
|
inline |
EnergyNode::EnergyNode |
( |
NodeType |
type, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
z, |
|
|
float |
energy |
|
) |
| |
|
inline |
float EnergyNode::getEnergy |
( |
| ) |
const |
|
inline |
virtual bool EnergyNode::isEnergyNode |
( |
| ) |
|
|
inlinevirtual |
Каждый тик мы рапределяем почти равномерно энергию между всеми дочерними нодами. Энергия переливается только в том случае, если её где-то меньше чем в текущей ноде. По умолчанию размер пакета = (Энергия текущего пакета - Энергия дочернего пакета) * 0.1 (10% от транзакции) Каждая передача энергии сопровождается потерей. В контексте проекта это называется налог на энергию (energy tax). Это приводит к тому, что энергия не вечна и рано или поздно пропадет из плетения.
- Parameters
-
listener | Вся передача событий из заклинания наружу происходит с помощью Event'ов |
callable | Вызывающая нода. Пока не пригождается, но мало ли. Может быть NULL |
Reimplemented from SpellNode.
float EnergyNode::transferEnergy |
( |
SpellNode * |
from, |
|
|
float |
count |
|
) |
| |
|
virtual |
float EnergyNode::energy = 0 |
|
protected |
The documentation for this class was generated from the following files:
- /home/travis/build/glitchless/Recast/src/headers/spells/nodes/EnergyNode.hpp
- /home/travis/build/glitchless/Recast/src/spell/nodes/EnergyNode.cpp