#include "condition.hpp" #include #include "inspector_holder.hpp" CCondition::CCondition(CNodeBase * rootNode, std::string & name) { m_root = rootNode; m_parent = 0; m_releaseable = 0; m_name = name; } CCondition::~CCondition() { delete m_root; } void CCondition::Reevaluate() { if(! m_releaseable) return; //wtf? //get new value and properly change state of releaseable if((m_value = m_root->GetValue()) ) { m_releaseable->Activate(); CInspectorHolder::processEvent(COND_ACT, m_name); } else { m_releaseable->Deactivate(); CInspectorHolder::processEvent(COND_DEACT, m_name); } return; } void CCondition::SetReleaseable( IReleaseable* rel) { m_releaseable = rel; }