void Action::process(Real delta) { const bool oldIsActive = mIsActive; if (!mParent->isEnabled()) { if (isActive()) { deactivate(); } // nothing to do here, parent action schema is disabled } else { const bool state = impl_process(delta); if (state && !isActive()) { activate(); } else if (!state && isActive()) { deactivate(); } } mChanged = oldIsActive != mIsActive; notifyProcessed(); }
void DigitalState::_setValue(bool value) { mChanged = false; if (value && !mIsActive) { activate(); mChanged = true; } else if (!value && mIsActive) { deactivate(); mChanged = true; } notifyProcessed(); }