#pragma once #include "DropResult.h" using namespace std; typedef multimap< DWORD, CDropItem > DROPITEM_MAP; typedef DROPITEM_MAP::iterator DROPITEM_ITER; typedef multimap< DWORD, CDropResult > DROPRESULT_MAP; typedef DROPRESULT_MAP::iterator DROPRESULT_ITER; typedef list< BASE_NPCINFO* > MONSTER_LIST; typedef MONSTER_LIST::iterator MONSTER_ITER; class CDropManager { public: CDropManager(void); virtual ~CDropManager(void); //method: public: vector GetProcessTitle(); //°úÁ¤ ŸÀÌÆ² vector GetResultTitle(); //°á°ú ƼÀÌÆ² vector GetNameScriptType(); vector GetNameMonsterType(); BOOL Initialize(); BOOL DropItem( WORD wLowerLevel, WORD wUpperLevel, BYTE byGrade, DWORD dwNpcCount, BYTE byFieldType ); BOOL DropItemEx( DWORD dwNpcCode, DWORD dwNpcCount, BYTE byFieldType ); void SetScriptType(int nType); int GetScriptType(); void CalcItemDropResult(); VOID DropMoney( MONEY DroppedMoney, MONEY & TotalMoney ); DROPITEM_MAP* GetDropItems(){ return &m_mapDropItem; } DROPRESULT_MAP* GetResultDropItems(){ return &m_mapDropResult; } void SetCntKillMonster( DWORD dwCntKillMonster ){ m_dwCntKillMonster = dwCntKillMonster; } // CString GetItemType(eDROP_TYPE type); CString GetItemType(eDROP_TYPE_ type); CString GetRank( eRANK rank ); CString GetEnchantLevel(eENCHANTLEVEL level); CString GetSaveDropInfo(int nViewOption); void GetMonster( WORD wLowerLevel, WORD wUpperLevel, BYTE byGrade, MONSTER_LIST& listMonster ); //variable: private: int m_nScriptType; // ½ºÆ®¸³Æ® ŸÀÔ 0 : ¹Ì¼Ç¿ë, 1 : ÇåÆÃ¿ë DWORD m_dwCntKillMonster; // Á×ÀÌ´Â ¸ó½ºÅÍ °³Ã¼¼ö DROPITEM_MAP m_mapDropItem; DROPRESULT_MAP m_mapDropResult; vector m_vecItemCode; DropCore m_DropCore; //method: private: void CalcStatistics(); // ÄÚµå±âÁØ Åë°è¸¦ °è»êÇÑ´Ù. void CalcStatisticsEx(); // ¼¼ºÎÇ׸ñº°.. };