/* ===================================================================== * ÆÄ ÀÏ : DramaturgyManager.h , DramaturgyManager.cpp * ¸ñ Àû : ¿¬ÃâÁ¤º¸°ü¸® , ¿¬ÃâÆÄÀÏ ÆÄ½Ì * ÀÛ ¼º ÀÚ : Á¤¿øÁÖ * ÀÛ ¼º ÀÏ : 2006³â 10¿ù 16ÀÏ * * Ãß°¡³»¿ë : * Ãß°¡³¯Â¥ ÀÛ¾÷ÀÚ Ãß°¡³»¿ë * * ÁÖÀÇ»çÇ× : . * =======================================================================*/ #pragma once #include "DramaturgyInfo.h" enum eMONSTERATTACK_TYPE; /// ±âº»°ø°Ý - Á¾Á·*¼ºº°*¹«±â (3 * 2 * 7 = 42) /// ½ºÅ³ - Á¾Á·*¼ºº° (3 * 2 = 6) class cDramaturgyManager { public: static cDramaturgyManager* mpDramaturgyManager; cDramaturgyManager(); ~cDramaturgyManager(); bool Init(); /// ¿¬ÃâÁ¤º¸ ȹµæ (¿¬Ãⰴü´Â Thread Loading) cDramaturgyInfo* GetPlayerDramaturgyInfo( unsigned long skillIdx, unsigned short weaponstate, unsigned char race, unsigned char gender, unsigned long* dramakey ); cDramaturgyInfo* GetMonsterDramaturgyInfo( unsigned long monsterIdx, eMONSTERATTACK_TYPE type ); protected: /// "PlayerDramaFileList.txt" load bool LoadPlayerDramatugyFileList(); /// "MonsterDramaFileList.txt" load bool LoadMonsterDramaturgyFileList(); protected: /// ¿¬Ãâ ÆÄÀÏ À̸§ ÀúÀå typedef tPointerHashMap cSkillDramaMap; /// key = ((race*gender_max)+gender)*weaponstate_max + weaponstate; typedef tPointerHashMap cDramaturgyInfoMap; /// ¿¬ÃâÆÄÀÏ ¸Þ¸ð¸® /// key = skillIdx, value = cDramatugyInfo pointer; cSkillDramaMap mPlayerDramaturgyInfoMap; /// key = skillIdx, value = cDramatugyInfo pointer; cSkillDramaMap mMonsterDramaturgyInfoMap; }; #define DRAMATURGYMAN cDramaturgyManager::mpDramaturgyManager