/* ========================================================================== * ÆÄ ÀÏ : SkillScript.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2007-06-07 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Skill_Common.h" typedef tPointerHashMap cSkillHashMap; typedef tArray cArray; class cSkillScript { public: static cSkillScript* mpSkillScript; public: /// »ý¼º ¼Ò¸ê cSkillScript(void); ~cSkillScript(void) {} /// ÃʱâÈ­ bool Init(); /// Àüü »ç¿ë ¸Þ¸ð¸® Á¦°Å void Release(); /// ½ºÅ³ Á¤º¸¸¦ ¾Ë·ÁÁÜ sPlayerSkillBaseInfo* GetPlayerSkillInfo( unsigned long skillNumber ); sMonsterSkillScript* GetMonsterSkillInfo( unsigned long monsterClassIdx, eMONSTERATTACK_TYPE attackType ); cSkillHashMap* GetMonsterSkillTotalMap(); void* GetMonsterBaseSkillArr( unsigned long monsterClassIdx ); void* GetMonsterEliteSkillArr( unsigned long monsterClassIdx ); /// È¿°ú Á¤º¸¸¦ ¾Ë·ÁÁÜ sInfluenceScript* GetInfluenceInfo( unsigned long influenceClassIdx ); bool IsCastSkill( unsigned long skillIdx, unsigned long skillStep ); tArray* GetFreeSkill( unsigned long jobIdx ) { return (tArray*)mFreeSkillMap.GetAt(jobIdx); } tPointerHashMap* GetPlayerSkillInfoMap() { return &mPlayerSkillInfoMap; } tPointerHashMap* GetInfluenceInfoMap() { return &mInfluenceMap; } /// ½ºÅ³À» »ç¿ëÇÒ¼ö ÀÖ´Â Á÷¾÷ ¹è¿­À» ¾ò¾î¿È tArray* GetPlayerSkillJob( unsigned long jobIdx ); /// È¿°ú ·Îµå bool InfluenceLoad(); private: /// ½ºÅ³ Á¤º¸ ·Îµå. bool PlayerSkillScriptLoad(); bool MonsterSkillScriptLoad(); /// ½ºÅ³ ´Ü°è ·Îµå. bool PlayerSkillStepLoad(); /// ½ºÅ³ ½Àµæ/»ç¿ë Á÷¾÷ÄÚµå ·Îµå bool PlayerSkillJobScriptLoad(); void PlayerFreeSkillList(); private: ///Ç÷¹À̾ųÁ¤º¸Å×À̺í <½ºÅ©¸³Æ® »óÀÇ ½ºÅ³ Index, ½ºÅ³ Á¤º¸> ///typedef tPointerHashMap cPlayerSkillInfoMap; cSkillHashMap mPlayerSkillInfoMap; ///¸ó½ºÅͽºÅ³Á¤º¸Å×À̺í <½ºÅ©¸³Æ® »óÀÇ ½ºÅ³ Index, ½ºÅ³ Á¤º¸> ///typedef tPointerHashMap> cMonsterSkillInfoMap; // cSkillHashMap mMonsterSkillInfoMap; cSkillHashMap mMonsterBaseSkillMap; cSkillHashMap mMonsterSkillTotalMap; cSkillHashMap mMonsterEliteSkillMap; /// ½ºÅ³ ½Àµæ/»ç¿ë Á÷¾÷ÄÚµå ///typedef tPointerHashMap*> cSkillJobMap; cSkillHashMap mSkillJobMap; /// Ç÷¹À̾î È¿°ú Á¤º¸ ///typedef tPointerHashMap cPlayerInfluenceMap; cSkillHashMap mInfluenceMap; cSkillHashMap mFreeSkillMap; }; #define SKILLSCRIPT cSkillScript::mpSkillScript