/* ========================================================================== * ÆÄ ÀÏ : UIRootNode.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.09.14 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIContainer.h" /// UI ·çÆ® ³ëµå /// ¸ðµç UI ³ëµåµéÀÇ ºÎ¸ðÀÌ´Ù. /// ¿ÀÁ÷ UI °ü¸®ÀÚ¿¡¼­¸¸ »ý¼º ¹× »èÁ¦ÇÒ ¼ö ÀÖ´Ù. class cUIRootNode : public cUIContainer { friend class cUIManager; public: /// ÀÚ½Ä À©µµ¿ìµéÀ» ¼û±è void HideAllChild( cUIWindow* except ); /// ¼û±ä ÀÚ½Ä À©µµ¿ìµéÀ» º¸ÀÓ void ShowAllChild(); void AddProcessChild( cUINode* n ); void RemoveProcessChild( cUINode* n ); // ·çÆ® Â÷ÀÏµå °Ë»ö¿ë void AddSearchChild( cUINode* n ); void RemoveSearchChild( unsigned long id ); cUINode* FindNodeByID( unsigned long id ); // ·çÆ®ÀÇ ÀڽĿ¡¼­¸¸ °Ë»öµÈ´Ù private: cUIRootNode( eUINodeType type = eUINODE_ROOT ); virtual ~cUIRootNode(); /// »ý¼º /// ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. µð¹ö±× ¸ðµå¿¡¼­´Â assert¸¦ ¹ß»ýÇÑ´Ù. virtual bool Create( const cString& skinName, cUIContainer* pparent, unsigned int id, bool bTransform = false); /// ¸Ç ¾ÕâºÎÅÍ ´Ý±â ( false : ´õÀÌ»ó ´ÝÀ»Ã¢ÀÌ ¾øÀ½ ) bool HideESC(); // stage º¯°æ½ÃÁ¡ void Open(); void Close(); /// °»½Å /// ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. µð¹ö±× ¸ðµå¿¡¼­´Â assert¸¦ ¹ß»ýÇÑ´Ù. void UpdateRect(); /// ÇØ»óµµ º¯°æ¿¡ µû¸¥ °´Ã¼ÀÇ ½ºÅ² ÀçÀû¿ë void UpdateSkin(); /// ½ºÅ²À» ¼³Á¤ /// ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ¹«Á¶°Ç true¸¦ ¸®ÅÏÇÑ´Ù. bool SetSkin( const cUINodeSkin* pskin ); /// ÀûÇÕ ¿©ºÎ¸¦ ¸®ÅÏ /// ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ¹«Á¶°Ç true¸¦ ¸®ÅÏÇÑ´Ù. bool IsValid() const; /// À̺¥Æ®¸¦ ó¸® /// ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ¹«Á¶°Ç true¸¦ ¸®ÅÏÇÑ´Ù. bool HandleEvent( const cUIEvent& event ); /// ·»´õ¸µ void OnPreRender(); void OnRender( cUIFontItemKeeper* pKeeper = 0 ); void OnRenderTip(); /// ¾÷µ¥ÀÌÆ® void OnProcess( unsigned long deltaTime, unsigned long accumTime ); /// ¸ðµç UI Lock Ç®±â void NetUnLockAllUI(); //// ¸¶¿ì½º ÁÂÇ¥°ª¿¡ ÀÖ´Â À©µµ¿ì ±¸Çϱâ cUIContainer* GetContainer( const cUIPos& pos ) const; private: /// ÆùÆ® cUIFontItemKeeper* mFontItemKeeper; /// ÆÁ cUINode* mTipWindow; // ·çÆ® Â÷ÀÏµå °Ë»ö¿ë typedef tPointerHashMap cFindChildMap; cFindChildMap mFindChildMap; /// ÀÚ½Ä À©µµ¿ì °¡½Ã Á¤º¸ typedef tPointerArray cChildVisArray; cChildVisArray mChildVisArray; typedef tPointerList cProcessChildList; cProcessChildList mProcessList; };