/* ========================================================================== * ÆÄ ÀÏ : TitleManager.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-01-18 * ÁÖÀÇ»çÇ× : *===========================================================================*/ const unsigned int TITLE_QUICK_LIST_COUNT = 5; class cTitleDefine { public: cTitleDefine(); public: /// ŸÀÌÆ²¸í LPCTSTR mName; /// ŸÀÌÆ²¼³¸í LPCTSTR mDescription; /// È¿°ú À妽º long mInfluenceIndex; /// ŸÀÌÆ² »ö»ó unsigned long mColor; }; inline cTitleDefine::cTitleDefine() : mName(0) , mDescription(0) , mInfluenceIndex(0) , mColor(0) { } class cTitleManager { public: cTitleManager(); ~cTitleManager(); bool Init(); void Open(); void Close(); void TitleSet( unsigned long titleIdx ); /// void ClearList(); void AddHaveTitle( unsigned long titleIdx ); bool IsHaveTitle( unsigned long titleIdx ); /// Äü¸®½ºÆ® °ü·Ã void AddHaveQuickTitle( unsigned char idx, long nTitleIdx ); void SetHaveQuickTitle( long *pTitleIdxArr ); void GetQuickTitle( long* pListArr ); void ClearQuickList(); /// void NetworkMsgParser( char* msg ); cTitleDefine* GetTitleDefine( unsigned long titleIdx ); public: static cTitleManager* mpSingleton; static cTitleManager* GetSingleton(); private: bool Load( const cString& pathname ); /// ȣĪ UI ¿¡ ¸®½ºÆ® ¼¼ÆÃ void SortTitleList(); private: /// ȣĪ Á¤ÀÇ typedef tPointerHashMap cTitleDefineMap; cTitleDefineMap mTitleDefineMap; /// ¼ÒÀ¯ ȣĪ Á¤º¸ typedef tHashSet cHaveTitleSet; cHaveTitleSet mHaveTitleSet; /// ¼ÒÀ¯ Äü¸®½ºÆ® ȣĪ Á¤º¸ long mHaveQuickTitleArr[TITLE_QUICK_LIST_COUNT]; /// º¯°æ ¿äû ȣĪÀ妽º unsigned long mRequestTitleIndex; }; inline cTitleManager* cTitleManager::GetSingleton() { return mpSingleton; } #define TITLEMAN cTitleManager::GetSingleton()