void RenderBoxWrap::FrameAdvise(bool _advise) { if (_advise && !mFrameAdvise && needFrameUpdate()) { MyGUI::Gui::getInstance().eventFrameStart += MyGUI::newDelegate(this, &RenderBoxWrap::frameEntered); mFrameAdvise = true; } else if (!_advise && mFrameAdvise && !needFrameUpdate()) { MyGUI::Gui::getInstance().eventFrameStart -= MyGUI::newDelegate(this, &RenderBoxWrap::frameEntered); mFrameAdvise = false; } }
void RenderBoxWrap::setAutoRotation(bool _auto) { if (mAutoRotation == _auto) return; if (needFrameUpdate()) { mAutoRotation = _auto; FrameAdvise(false); } else { mAutoRotation = _auto; FrameAdvise(true); } }
void RenderBoxWrap::setViewScale(bool _scale) { if (mUseScale == _scale) return; if (needFrameUpdate()) { mUseScale = _scale; FrameAdvise(false); } else { mUseScale = _scale; FrameAdvise(true); } }
void RenderBoxScene::setAnimation(const Ogre::String& _animation) { if (mEntity == nullptr) return; try { mAnimationState = mEntity->getAnimationState(_animation); mAnimationState->setEnabled(true); mAnimationState->setLoop(true); mAnimationState->setWeight(1); } catch (Ogre::ItemIdentityException&) { } frameAdvise(needFrameUpdate()); }
void RenderBoxScene::setAutoRotation(bool _auto) { mAutoRotation = _auto; frameAdvise(needFrameUpdate()); }