当前位置: 首页>>代码示例>>C++>>正文


C++ CGUIControl::processLogic方法代码示例

本文整理汇总了C++中CGUIControl::processLogic方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIControl::processLogic方法的具体用法?C++ CGUIControl::processLogic怎么用?C++ CGUIControl::processLogic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CGUIControl的用法示例。


在下文中一共展示了CGUIControl::processLogic方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: processLogic

void CGUIDialog::processLogic()
{
    // For the special effect not used in the galaxy engine
    if( g_pBehaviorEngine->getEngine() != ENGINE_GALAXY )
    {
        if( mFXhStep > 0 )
        {
            mFXhStep--;
            return;
        }
        else if( mFXvStep > 0 )
        {
            mFXvStep--;
            return;
        }
    }

    // Try to get a control that is waiting for input to be typed
    CGUIInputText *pInputCtrl = nullptr;
    for( auto &it : mControlList )
    {
        CGUIControl *ctrl = it.get();
        pInputCtrl = dynamic_cast<CGUIInputText*>(ctrl);
        if(pInputCtrl)
        {
            if(pInputCtrl->Typing())
               break;
            pInputCtrl = nullptr;
        }
    }

    if(pInputCtrl != nullptr)
    {
        pInputCtrl->processLogic();
    }
    else
    {
        // Process the subcontrols its logic
        int sel = 0;
        for( auto &it : mControlList )
        {
            CGUIControl *ctrl = it.get();

            ctrl->processLogic();

            if( dynamic_cast<CGUIButton*>(ctrl) || dynamic_cast<CGUIInputText*>(ctrl) )
            {
                if( ctrl->getHovered() )
                {
                    mpCurrentCtrl = ctrl;
                    mSelection = sel;
                }
            }
            sel++;
        }
    }

    if(!g_pInput->m_EventList.empty())
        g_pInput->m_EventList.clear();
}
开发者ID:winktzhong,项目名称:Commander-Genius,代码行数:60,代码来源:CGUIDialog.cpp

示例2: processLogic

void CGUIDialog::processLogic()
{
	// Render the stuff
	g_pVideoDriver->mDrawTasks.add( new DrawGUIRenderTask(this) );

	// Prepare the subcontrols for rendering
	int sel = 0;
	for( auto &it : mControlList )
	{
		CGUIControl *ctrl = it.get();

		ctrl->processLogic();

		if( dynamic_cast<CGUIButton*>(ctrl) || dynamic_cast<CGUIInputText*>(ctrl) )
		{
			if( ctrl->getHovered() )
			{
				mpCurrentCtrl = ctrl;
				mSelection = sel;
			}

		}
		sel++;
	}

	if(!g_pInput->m_EventList.empty())
		g_pInput->m_EventList.clear();

}
开发者ID:mcmire,项目名称:Commander-Genius,代码行数:29,代码来源:CGUIDialog.cpp


注:本文中的CGUIControl::processLogic方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。