#ifndef _ITEM_FACTORY_H_ #define _ITEM_FACTORY_H_ #include namespace Item { // Àü¹æ ÂüÁ¶ class CItem; struct ItemInfo; #pragma pack(8) class CItemFactory : public CSingleton { public: inline unsigned __int64 GetItemUID() { return m_nCurrentUID; } inline void SetItemUID(unsigned __int64 nCurrentUID) { m_nCurrentUID = nCurrentUID; } // Desc : Á¾·ù·Î ¾ÆÀÌÅÛ »ý¼º(±âº» ´É·ÂÄ¡) CItem* CreateItem(const ItemInfo& itemInfo); // Desc : Á¾·ù ID·Î ¾ÆÀÌÅÛ »ý¼º(±âº» ´É·ÂÄ¡) CItem* CreateItem(unsigned short usProtoTypeID); // Desc : SerializeOutµÈ ¹öÆÛ·Î ¾ÆÀÌÅÛ »ý¼º. // In : ¹öÆÛ, ¹öÆÛ Å©±â // Out : (Return)¼º°ø ¿©ºÎ, nParseLength_InOut - »ç¿ëÇÑ ¹öÆÛ Å©±â CItem* CreateItem(const char* lpSerializedItem_In, size_t& nParseLength_InOut); ~CItemFactory(); private: CItemFactory(); unsigned __int64 m_nCurrentUID; static CItemFactory ms_this; }; #pragma pack() }; #endif