FIFE
be64c707dea6b3250bd4355bf5c825d25920087d
|
InstanceActivity gets allocated in case there is some runtime activity related to the instance. More...
Public Member Functions | |
InstanceActivity (Instance &source) | |
~InstanceActivity () | |
void | update (Instance &source) |
updates cached variables, marks changes More... | |
Public Attributes | |
Location | m_location |
location on previous round More... | |
Location | m_oldLocation |
location on previous cell More... | |
int32_t | m_rotation |
rotation on previous round More... | |
int32_t | m_oldRotation |
rotation on previous round More... | |
Action * | m_action |
action on previous round. NOTE: might become invalid, only used for address comparison More... | |
SoundSource * | m_soundSource |
sound source of action audio on previous round More... | |
double | m_speed |
speed on previous round More... | |
float | m_timeMultiplier |
time multiplier on previous round More... | |
std::string | m_sayText |
say text on previous round More... | |
std::vector< InstanceChangeListener * > | m_changeListeners |
listeners for changes More... | |
std::vector< InstanceActionListener * > | m_actionListeners |
listeners for action related events More... | |
ActionInfo * | m_actionInfo |
action information, allocated when actions are bind More... | |
SayInfo * | m_sayInfo |
text to say + duration, allocated when something is said More... | |
TimeProvider * | m_timeProvider |
time scaler for this instance More... | |
bool | m_blocking |
blocking status on previous round More... | |
InstanceChangeInfo | m_additional |
additional change info, used for visual class (transparency, visible, stackpos) More... | |
InstanceActivity gets allocated in case there is some runtime activity related to the instance.
Keeping activity related variables in separate class keeps memory consumption lower e.g. for large tile areas. Class also keeps track of changes since the previous update call. With this bookkeeping, it is possible to optimize several spots in the engine, basically only reacting to changes instead of polling.
Definition at line 527 of file instance.h.
FIFE::Instance::InstanceActivity::InstanceActivity | ( | Instance & | source | ) |
Definition at line 113 of file instance.cpp.
FIFE::Instance::InstanceActivity::~InstanceActivity | ( | ) |
Definition at line 132 of file instance.cpp.
References m_actionInfo, m_sayInfo, m_soundSource, and m_timeProvider.
void FIFE::Instance::InstanceActivity::update | ( | Instance & | source | ) |
updates cached variables, marks changes
Definition at line 139 of file instance.cpp.
References FIFE::Location::getLayer(), FIFE::Location::getLayerCoordinates(), FIFE::TimeProvider::getMultiplier(), FIFE::ICHANGE_ACTION, FIFE::ICHANGE_BLOCK, FIFE::ICHANGE_CELL, FIFE::ICHANGE_LOC, FIFE::ICHANGE_NO_CHANGES, FIFE::ICHANGE_ROTATION, FIFE::ICHANGE_SAYTEXT, FIFE::ICHANGE_SPEED, FIFE::ICHANGE_TIME_MULTIPLIER, FIFE::ActionInfo::m_action, m_action, m_actionInfo, m_additional, m_blocking, FIFE::Instance::m_blocking, FIFE::Instance::m_changeInfo, m_changeListeners, m_location, FIFE::Instance::m_location, m_oldLocation, m_oldRotation, FIFE::Instance::m_rotation, m_rotation, m_sayInfo, m_sayText, FIFE::ActionInfo::m_speed, m_speed, m_timeMultiplier, m_timeProvider, FIFE::SayInfo::m_txt, FIFE::Location::setLayer(), and FIFE::Location::setLayerCoordinates().
Referenced by FIFE::Instance::update().
Action* FIFE::Instance::InstanceActivity::m_action |
action on previous round. NOTE: might become invalid, only used for address comparison
Definition at line 544 of file instance.h.
Referenced by FIFE::Instance::cancelAction(), FIFE::Instance::finalizeAction(), and update().
ActionInfo* FIFE::Instance::InstanceActivity::m_actionInfo |
action information, allocated when actions are bind
Definition at line 560 of file instance.h.
Referenced by FIFE::Instance::actOnce(), FIFE::Instance::actRepeat(), FIFE::Instance::cancelAction(), FIFE::Instance::cancelMovement(), FIFE::Instance::finalizeAction(), FIFE::Instance::follow(), FIFE::Instance::getActionRuntime(), FIFE::Instance::getActionVisual(), FIFE::Instance::getCurrentAction(), FIFE::Instance::getMovementSpeed(), FIFE::Instance::getRoute(), FIFE::Instance::getTargetLocation(), FIFE::Instance::initializeAction(), FIFE::Instance::move(), FIFE::Instance::onInstanceDeleted(), FIFE::Instance::processMovement(), FIFE::Instance::setActionRuntime(), FIFE::Instance::update(), update(), FIFE::Instance::~Instance(), and ~InstanceActivity().
std::vector<InstanceActionListener*> FIFE::Instance::InstanceActivity::m_actionListeners |
listeners for action related events
Definition at line 558 of file instance.h.
Referenced by FIFE::Instance::addActionListener(), FIFE::Instance::callOnActionFrame(), FIFE::Instance::cancelAction(), FIFE::Instance::finalizeAction(), FIFE::Instance::removeActionListener(), FIFE::Instance::update(), and FIFE::Instance::~Instance().
InstanceChangeInfo FIFE::Instance::InstanceActivity::m_additional |
additional change info, used for visual class (transparency, visible, stackpos)
Definition at line 568 of file instance.h.
Referenced by FIFE::Instance::addAnimationOverlay(), FIFE::Instance::addColorOverlay(), FIFE::Instance::addStaticColorOverlay(), FIFE::Instance::callOnStackPositionChange(), FIFE::Instance::callOnTransparencyChange(), FIFE::Instance::callOnVisibleChange(), FIFE::Instance::removeAnimationOverlay(), FIFE::Instance::removeColorOverlay(), FIFE::Instance::removeStaticColorOverlay(), and update().
bool FIFE::Instance::InstanceActivity::m_blocking |
blocking status on previous round
Definition at line 566 of file instance.h.
Referenced by update().
std::vector<InstanceChangeListener*> FIFE::Instance::InstanceActivity::m_changeListeners |
listeners for changes
Definition at line 554 of file instance.h.
Referenced by FIFE::Instance::addChangeListener(), FIFE::Instance::removeChangeListener(), FIFE::Instance::update(), and update().
Location FIFE::Instance::InstanceActivity::m_location |
Location FIFE::Instance::InstanceActivity::m_oldLocation |
location on previous cell
Definition at line 538 of file instance.h.
Referenced by FIFE::Instance::getOldLocationRef(), and update().
int32_t FIFE::Instance::InstanceActivity::m_oldRotation |
rotation on previous round
Definition at line 542 of file instance.h.
Referenced by FIFE::Instance::getOldRotation(), and update().
int32_t FIFE::Instance::InstanceActivity::m_rotation |
SayInfo* FIFE::Instance::InstanceActivity::m_sayInfo |
text to say + duration, allocated when something is said
Definition at line 562 of file instance.h.
Referenced by FIFE::Instance::getSayText(), FIFE::Instance::say(), FIFE::Instance::update(), update(), and ~InstanceActivity().
std::string FIFE::Instance::InstanceActivity::m_sayText |
SoundSource* FIFE::Instance::InstanceActivity::m_soundSource |
sound source of action audio on previous round
Definition at line 546 of file instance.h.
Referenced by FIFE::Instance::finalizeAction(), FIFE::Instance::initializeAction(), and ~InstanceActivity().
double FIFE::Instance::InstanceActivity::m_speed |
float FIFE::Instance::InstanceActivity::m_timeMultiplier |
time multiplier on previous round
Definition at line 550 of file instance.h.
Referenced by update().
TimeProvider* FIFE::Instance::InstanceActivity::m_timeProvider |
time scaler for this instance
Definition at line 564 of file instance.h.
Referenced by FIFE::Instance::bindTimeProvider(), FIFE::Instance::getActionRuntime(), FIFE::Instance::getRuntime(), FIFE::Instance::getTimeMultiplier(), FIFE::Instance::getTotalTimeMultiplier(), FIFE::Instance::processMovement(), FIFE::Instance::setTimeMultiplier(), FIFE::Instance::update(), update(), and ~InstanceActivity().