/* ========================================================================== * ÆÄ ÀÏ : CoolTimeManager.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2007-09-11 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "ItemManager.h" struct sCoolTime { /// ±×·ì¹øÈ£ int groupNum; /// ³²Àº½Ã°£ long restTime; /// À¯Áö½Ã°£ long totalTime; /// ½ÃÀ۽ð£ long startTime; sCoolTime() { groupNum = 0; restTime = 0; totalTime = 0; startTime = 0; } }; struct sGroupData { /// ¾ÆÀÌÅÛ À妽º ¸®½ºÆ® tArray mIndexArr; }; /// class cCoolTimeManager { public: static cCoolTimeManager* mSingleton; public: cCoolTimeManager(); ~cCoolTimeManager(); /// void Clear(); void Process( unsigned long accumTime ); /// ¼­¹ö·ÎºÎÅÍ ³²Àº ÄðŸÀÓ ÀúÀå void NetSetCool( sInventoryCooltime& cool ); /// ¾ÆÀÌÅÛ »ç¿ë void StartCoolTime( unsigned long itemIndex ); void CopyCoolTime( unsigned long itemIndex ); /// µ¥ÀÌÅÍ ·Îµå void LoadData( unsigned long itemIndex, unsigned int groupnum, long cooltime ); /// ÄðŸÀÓÀÖ´Â ¾ÆÀÌÅÛ Á¤º¸¸ÊÀ¸·ÎºÎÅÍ Á¤º¸ ȹµæ sCoolTime* GetCoolData( unsigned long itemIndex ); /// ÇØ´ç ¾ÆÀÌÅÛÀÌ ÄðŸÀÓÁßÀÎÁö °Ë»ç. sCoolTime* GetProcessData( unsigned long itemIndex ); public: /// ´ÜÀÏü¸¦ ¸®ÅÏ static cCoolTimeManager* GetSingleton(); private: bool AddProcessCool( unsigned long itemIndex, long restTime, long totalTime ); private: /// ÄðŸÀÓ °ü·Ã ¾ÆÀÌÅÛ Á¤º¸ ¸Ê ( ¾ÆÀÌÅÛÀ妽º, ÄðŸÀÓÁ¤º¸ ) typedef tPointerHashMap cCoolTimeMap; cCoolTimeMap mCoolTimeMap; /// ±×·ì ã±â À§ÇÑ Á¤º¸ (sGroupData) typedef tPointerHashMap cGroupMap; cGroupMap mGroupMap; /// ÄðŸÀÓÁßÀÎ ¾ÆÀÌÅÛ typedef tPointerHashMap cProcessMap; cProcessMap mProcessMap; }; inline cCoolTimeManager* cCoolTimeManager::GetSingleton() { return mSingleton; } #define COOLMAN cCoolTimeManager::GetSingleton()