コード例 #1
0
	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;
		}
	}
コード例 #2
0
	void RenderBoxWrap::setAutoRotation(bool _auto)
	{
		if (mAutoRotation == _auto) return;
		if (needFrameUpdate())
		{
			mAutoRotation = _auto;
			FrameAdvise(false);
		}
		else
		{
			mAutoRotation = _auto;
			FrameAdvise(true);
		}
	}
コード例 #3
0
	void RenderBoxWrap::setViewScale(bool _scale)
	{
		if (mUseScale == _scale) return;
		if (needFrameUpdate())
		{
			mUseScale = _scale;
			FrameAdvise(false);
		}
		else
		{
			mUseScale = _scale;
			FrameAdvise(true);
		}
	}
コード例 #4
0
ファイル: renderboxscene.cpp プロジェクト: dzw/kylin001v
	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());
	}
コード例 #5
0
ファイル: renderboxscene.cpp プロジェクト: dzw/kylin001v
	void RenderBoxScene::setAutoRotation(bool _auto)
	{
		mAutoRotation = _auto;
		frameAdvise(needFrameUpdate());
	}