void CN3UIBase::Render() { if (!m_bVisible) return; // 보이지 않으면 자식들을 render하지 않는다. for(UIListReverseItor itor = m_Children.rbegin(); m_Children.rend() != itor; ++itor) { CN3UIBase* pChild = (*itor); pChild->Render(); //this_ui CN3UIBase* pCUI = NULL; pCUI = pChild->m_pChildUI; while(pCUI) { pCUI->Render(); pCUI = pCUI->m_pChildUI; } } }
void CN3UIButton::Render() { if(!m_bVisible) return; switch(m_eState) { case UI_STATE_BUTTON_NORMAL: { if (m_ImageRef[BS_NORMAL]) m_ImageRef[BS_NORMAL]->Render(); } break; case UI_STATE_BUTTON_DOWN: case UI_STATE_BUTTON_DOWN_2CHECKDOWN: case UI_STATE_BUTTON_DOWN_2CHECKUP: { if (m_ImageRef[BS_DOWN]) m_ImageRef[BS_DOWN]->Render(); } break; case UI_STATE_BUTTON_ON: { if (m_ImageRef[BS_ON]) m_ImageRef[BS_ON]->Render(); } break; case UI_STATE_BUTTON_DISABLE: { if (m_ImageRef[BS_DISABLE]) m_ImageRef[BS_DISABLE]->Render(); } } int i = 0; for(UIListReverseItor itor = m_Children.rbegin(); m_Children.rend() != itor; ++itor) { CN3UIBase* pChild = (*itor); for(i = 0; i < NUM_BTN_STATE; i++) // 버튼의 구성 요소가 아닌지 보고.. if(pChild == m_ImageRef[i]) break; if(i >= NUM_BTN_STATE) pChild->Render(); // 버튼 차일드가 아니면 렌더링.. } }
void CUIItemExchange::Render() { if (!m_bVisible) return; // 보이지 않으면 자식들을 render하지 않는다. POINT ptCur = CGameProcedure::s_pLocalInput->MouseGetPos(); m_pUITooltipDlg->DisplayTooltipsDisable(); bool bTooltipRender = false; __IconItemSkill* spItem; for(UIListReverseItor itor = m_Children.rbegin(); m_Children.rend() != itor; ++itor) { CN3UIBase* pChild = (*itor); pChild->Render(); if ( (pChild->UIType() == UI_TYPE_ICON) && (pChild->GetStyle() & UISTYLE_ICON_HIGHLIGHT) ) { bTooltipRender = true; spItem = GetHighlightIconItem( (CN3UIIcon* )pChild ); } } if ( bTooltipRender ) m_pUITooltipDlg->DisplayTooltipsEnable(ptCur.x, ptCur.y, spItem ); }