DragonNest/Common/EtInterface/EtUIQuestTreeCtl.cpp
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

313 lines
No EOL
8.3 KiB
C++

#include "StdAfx.h"
#include "EtUIQuestTreeCtl.h"
#ifdef _DEBUG
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
#endif
CEtUIQuestTreeCtl::CEtUIQuestTreeCtl( CEtUIDialog *pParent )
: CEtUITreeCtl( pParent )
{
m_Property.UIType = UI_CONTROL_QUESTTREECONTROL;
}
CEtUIQuestTreeCtl::~CEtUIQuestTreeCtl(void)
{
}
void CEtUIQuestTreeCtl::Initialize( SUIControlProperty *pProperty )
{
CEtUIControl::Initialize( pProperty );
/*m_ScrollBar.Initialize( NULL );
m_ScrollBar.SetParentControl( this );
if( m_Property.QuestTreeControlProperty.nScrollBarTemplate != -1 )
{
m_ScrollBar.SetTemplate( m_Property.QuestTreeControlProperty.nScrollBarTemplate );
m_ScrollBar.UpdateRects();
}
m_ScrollBar.SetTrackRange( 0, 0 );*/
}
//
//void CEtUIQuestTreeCtl::RenderTree( TREEITEM_LIST &VecTree )
//{
// TREEITEM_LIST_ITER iter = VecTree.begin();
// TREEITEM_LIST_ITER iter_end = VecTree.end();
// for( ; iter != iter_end; ++iter )
// {
// RenderFrame( *iter );
// RenderBackImg( *iter );
// RenderSelFrame( *iter );
// RenderButton( *iter );
// RenderState( *iter );
// RenderText( *iter );
// //m_pParent->DrawRect( (*iter)->m_uiCoord, debug::BLUE );
// }
//}
//
////void CEtUIQuestTreeCtl::RenderButton( CTreeItem *pItem )
////{
//// ASSERT(pItem&&"CDnQuestTree::RenderButton");
////
//// SUIElement *pElement(NULL);
////
//// if( !pItem->IsOpened() )
//// {
//// // Note : x 이미지
//// pElement = GetElement(9);
//// }
//// else
//// {
//// if( pItem->HasChild() )
//// {
//// if( pItem->GetDepth() == 1 )
//// {
//// if( !pItem->IsExpanded() )
//// {
//// // Note : + 이미지
//// pElement = GetElement(0);
//// }
//// else
//// {
//// // Note : - 이미지
//// pElement = GetElement(1);
//// }
//// }
//// else if( pItem->GetDepth() == 2 )
//// {
//// // Note : . 이미지(SubButton)
//// pElement = GetElement(8);
//// }
//// }
//// }
////
//// if( pElement )
//// {
//// m_pParent->DrawSprite( pElement->UVCoord, 0xffffffff, pItem->m_ButtonCoord );
//// //m_pParent->DrawRect( VecTree[i]->m_ButtonCoord, debug::BLUE );
//// }
////}
//
//void CEtUIQuestTreeCtl::RenderState( CTreeItem *pItem )
//{
// ASSERT(pItem&&"CDnQuestTree::RenderState");
// CEtUIQuestTreeItem *pQuestItem = static_cast<CEtUIQuestTreeItem*>(pItem);
//
// if( !pItem->IsOpened() )
// return;
//
// SUIElement *pElement(NULL);
//
// if( pQuestItem->IsCompleted() )
// {
// pElement = GetElement(8);
// }
// else
// {
// pElement = GetElement(9);
// }
//
// if( pElement )
// {
// m_pParent->DrawSprite( pElement->UVCoord, 0xffffffff, pQuestItem->m_StateCoord );
// //m_pParent->DrawRect( pQuestItem->m_StateCoord, debug::RED );
// }
//
///*
//
// int nQuestIndex = (int)pItem->GetItemValueFloat();
// if ( nQuestIndex > 0 )
// {
// pElement = NULL;
//
// int nType = GetQuestTask().GetNotifierType(nQuestIndex);
//
// switch( nType )
// {
// case QuestNotifier_Dynamic:
// pElement = GetElement(10);
// break;
// case QuestNotifier_Active:
// pElement = GetElement(11);
// break;
// default:
// pElement = NULL;
// break;
// }
//
// if( pElement )
// {
// m_pParent->DrawSprite( pElement->UVCoord, 0xffffffff, pQuestItem->m_NotifierCoord );
// //m_pParent->DrawRect( pQuestItem->m_StateCoord, debug::RED );
// }
// }
//
//
// if( pQuestItem->IsDynamicNotifier() )
// {
// pElement = GetElement(10);
// }
// else if( pQuestItem->IsActiveNotifier() )
// {
// pElement = GetElement(11);
// }
//
// if( pElement )
// {
// m_pParent->DrawSprite( pElement->UVCoord, 0xffffffff, pQuestItem->m_NotifierCoord );
// //m_pParent->DrawRect( pQuestItem->m_StateCoord, debug::RED );
// }*/
//
//
//}
//
//void CEtUIQuestTreeCtl::RenderText( CTreeItem *pItem )
//{
// ASSERT(pItem&&"CDnQuestTree::RenderText");
//
// if( !pItem->IsOpened() )
// return;
//
// SUIElement *pElement = GetElement(0);
// if( !pElement ) return;
//
// //m_pParent->DrawRect( pItem->m_strCoord, debug::YELLOW );
// DWORD nOriginalClr = pItem->GetTextColor();
// if ( pItem->IsSelected() )
// {
// pItem->SetTextColor(EtInterface::textcolor::YELLOW);
// }
// else if ( pItem->IsCompleted() )
// {
// pItem->SetTextColor(EtInterface::textcolor::DARKGRAY);
// }
//
// m_pParent->DrawDlgText( pItem->GetText(), pElement, pItem->GetTextColor(), pItem->m_strCoord, -1, -1, true );
// pItem->SetTextColor(nOriginalClr);
//}
//
//void CEtUIQuestTreeCtl::RenderBackImg( CTreeItem *pItem )
//{
// ASSERT(pItem&&"CDnQuestTree::RenderBackImg");
// CEtUIQuestTreeItem *pQuestItem = static_cast<CEtUIQuestTreeItem*>(pItem);
//
// if ( pQuestItem->GetTexture() )
// {
// static SUICoord texUV(0.0f,0.0f, 1.0f, 1.0f);
// SUIElement *pElement(NULL);
// pElement = GetElement(pQuestItem->GetDepth()+1);
// m_pParent->DrawSprite( pQuestItem->GetTexture(), texUV, pElement->TextureColor.dwCurrentColor, pQuestItem->m_FrameCoord );
// }
//}
//
//void CEtUIQuestTreeCtl::RenderFrame( CTreeItem *pItem )
//{
// ASSERT(pItem&&"CDnQuestTree::RenderFrame");
// CEtUIQuestTreeItem *pQuestItem = static_cast<CEtUIQuestTreeItem*>(pItem);
//
// SUIElement *pElement(NULL);
// pElement = GetElement(pQuestItem->GetDepth()+1);
// m_pParent->DrawSprite( pElement->UVCoord, pElement->TextureColor.dwCurrentColor, pQuestItem->m_FrameCoord );
// //m_pParent->DrawSprite( pQuestItem->GetTexture(), pElement->UVCoord, pElement->TextureColor.dwCurrentColor, pQuestItem->m_FrameCoord );
// //m_pParent->DrawRect( pQuestItem->m_FrameCoord, debug::YELLOW );
//}
//
//void CEtUIQuestTreeCtl::RenderSelFrame( CTreeItem *pItem )
//{
// ASSERT(pItem&&"CDnQuestTree::RenderSelFrame");
// CEtUIQuestTreeItem *pQuestItem = static_cast<CEtUIQuestTreeItem*>(pItem);
//
// if( pItem->IsSelected() )
// {
// SUIElement *pElement(NULL);
// pElement = GetElement(pQuestItem->GetDepth()+4);
// m_pParent->DrawSprite( pElement->UVCoord, pElement->TextureColor.dwCurrentColor, pQuestItem->m_FrameSelectCoord );
//
// //m_pParent->DrawRect( pQuestItem->m_FrameSelectCoord, debug::YELLOW );
// }
//}
//
////CEtUIQuestTreeItem* CEtUIQuestTreeCtl::AddQuestItem( DWORD dwType, LPCWSTR szText, DWORD dwColor )
////{
//// SUICoord uiCoord(m_Property.UICoord);
////
//// SUIElement *pElement(NULL);
//// pElement = GetElement(2);
//// if( !pElement ) return NULL;
////
//// uiCoord.fHeight = pElement->fTextureHeight;
//// uiCoord.fWidth = pElement->fTextureWidth;
//// //uiCoord.fWidth -= m_Property.QuestTreeControlProperty.fScrollBarSize;
////
//// if( m_pRootItem->HasChild() )
//// {
//// CTreeItem *pEndItem = m_pRootItem->GetEndItem();
//// uiCoord.fY = pEndItem->m_uiCoord.Bottom();
//// }
//// else
//// {
//// m_nCurLine = 0;
//// }
////
//// CEtUIQuestTreeItem *pItem = new CEtUIQuestTreeItem();
//// pItem->Initialize( this );
//// pItem->SetUICoord(uiCoord);
//// pItem->SetText( szText, dwColor );
//// pItem->AddItemType( dwType );
////
//// m_pRootItem->Add( pItem );
////
//// m_ScrollBar.SetTrackRange( 0, GetExpandedItemCount() );
//// UpdateRectsTree();
////
//// return pItem;
////}
////
////CEtUIQuestTreeItem* CEtUIQuestTreeCtl::AddQuestChildItem( CEtUIQuestTreeItem *pTreeItem, DWORD dwType, LPCWSTR szText, DWORD dwColor )
////{
//// ASSERT( pTreeItem&&"CEtUIQuestTreeCtl::AddQuestChildItem, pTreeItem is NULL!" );
////
//// SUICoord uiCoord(pTreeItem->GetCoord());
////
//// SUIElement *pElement(NULL);
//// pElement = GetElement(pTreeItem->GetDepth()+2);
//// if( !pElement ) return NULL;
////
//// uiCoord.fX += m_Property.QuestTreeControlProperty.fIndentSize;
//// uiCoord.fWidth = pElement->fTextureWidth;
//// // 그냥 fTextureHeight로만 설정하면 LineSpace가 적용이 안된다. 그래서 이렇게 직접 더해준다.
//// uiCoord.fHeight = pElement->fTextureHeight + m_Property.QuestTreeControlProperty.fLineSpace;
////
//// CEtUIQuestTreeItem *pItem = new CEtUIQuestTreeItem();
//// pItem->Initialize( this, pTreeItem->GetDepth()+1 );
//// pItem->SetUICoord( uiCoord );
//// pItem->SetText( szText, dwColor );
//// pItem->AddItemType( dwType );
////
//// pTreeItem->Add( pItem );
////
//// m_ScrollBar.SetTrackRange( 0, GetExpandedItemCount() );
//// UpdateRectsTree();
////
//// return pItem;
////}
//
//// 마지막 트리 노드를 선택한다.
//void CEtUIQuestTreeCtl::SelectLastTree()
//{
// UpdateRectsTree();
//
// if ( m_listTreeTravelItem.size() )
// {
// TREEITEM_LIST::reverse_iterator r_iter = m_listTreeTravelItem.rbegin();
//
// CEtUIQuestTreeItem* pItem = static_cast<CEtUIQuestTreeItem*>(*r_iter);
// if ( pItem )
// SetSelectItem( pItem );
//
// }
//
//
//}