#pragma once //======================================================================================================================= /// CollectedList class /* @author Lee Su Tek @since 2009. 2. 27 @remarks @note äÁýÇß´ø ¹°Ç°µé ¸®½ºÆ® ¼­¹ö´Ü¿¡¼­´Â Ƚ¼ö üũ¸¦ À§ÇØ ÇÊ¿äÇÑ Å¬·¡½ºÀ̳ª Ŭ¶óÂÊ¿¡¼­ ±¸Áö ÇÊ¿äÄ¡ ¾ÊÀ½. @history */ //======================================================================================================================= #include "StructInPacket.h" typedef STLX_HASH_MAP COLLECTED_HASH; typedef COLLECTED_HASH::iterator COLLECTED_HASH_IT; struct CollectionInfo; class CollectedList { public: CollectedList() : m_IsLoaded(false) , m_ObjKeyCollecting(0) , m_pCollectionInfo(NULL) , m_ObjKeyCollected(0) {} //__NA001283_20090221_COLLECTION_SYNC virtual ~CollectedList() { Clear(); } public: inline void BeginCollecting(DWORD ObjKeyCollecting) { m_ObjKeyCollecting = ObjKeyCollecting; } inline void EndCollecting() { m_ObjKeyCollecting = 0; } inline bool IsLoaded() { return m_IsLoaded; } inline void SetIsLoad(bool IsLoad) { m_IsLoaded = IsLoad; } // äÁýÁßÀΰ¡? inline bool IsCollecting() { return !!m_ObjKeyCollecting; } inline DWORD GetObjKeyCollecting() { return m_ObjKeyCollecting; } //__NA001283_20090221_COLLECTION_SYNC inline void SetSuccessCollectionInfo(CollectionInfo* pCollectionInfo) { m_pCollectionInfo = pCollectionInfo; m_ObjKeyCollected = m_ObjKeyCollecting; } inline CollectionInfo* GetSuccessCollectionInfo(OUT DWORD& obj_key_collected) { obj_key_collected = m_ObjKeyCollected; m_ObjKeyCollected = 0; CollectionInfo* pCollectionInfo = m_pCollectionInfo; m_pCollectionInfo = NULL; return pCollectionInfo; } public: void Clear() { m_Hash.clear(); m_ObjKeyCollecting=0; m_IsLoaded = false; m_ObjKeyCollected = 0;} WORD GetCount(WzID CollectionID); void Add(WzID CollectionID, WORD wCount = 1); void SerializeStream( COLLECTED_TOTAL_INFO & IN rTotalInfo, eSERIALIZE eType ); void Delete(WzID CollectionID, WORD wCount = 1); private: bool m_IsLoaded; DWORD m_ObjKeyCollecting; // ÇöÀç äÁýÁßÀΠäÁý¹° //__NA001283_20090221_COLLECTION_SYNC CollectionInfo* m_pCollectionInfo; // äÁý¿¡ ¼º°øÇÑ Ã¤Áý¹° Á¤º¸ (Ŭ¶óÀÇ ¼º°ø ÆÐŶ¿¡ ÀÇÇØ »ó±â Á¤º¸·Î º¸»ó Áö±Þ) //m_pCollectionInfo ¿Í °°ÀÌ ¼ÂÆÃÇÑ´Ù. DWORD m_ObjKeyCollected; // äÁýÀÌ ¿Ï·áµÈ ¿ÀºêÁ§Æ® COLLECTED_HASH m_Hash; // äÁýÇß´ø ¹°Ç° };