/* ==================================================================== * ÆÄ ÀÏ : GameResourceManager.h * ¸ñ Àû : °ÔÀÓ ¸®¼Ò½º(½ºÅ©¸³Æ® ÆÄÀϵî)ÆÄÀÏ °ü¸® * ÀÛ ¼º ÀÚ : À̹ý¼® * ÀÛ ¼º ÀÏ : 2006.06 * * Ãß°¡³»¿ë : * Ãß°¡³¯Â¥ ÀÛ¾÷ÀÚ Ãß°¡³»¿ë * 2006.06 À̹ý¼® »ý¼º * * ÁÖÀÇ»çÇ× : * =================================================================== */ #pragma once #include "Player_Common.h" class cSkillScript; struct sNpcInfo { unsigned long mIndex; cString mName; unsigned long mNameIndex; unsigned long mModelIndex; }; struct sMonsterInfo { unsigned long mIndex; cString mName; unsigned long mNameIndex; unsigned long mModelIndex; float mScale; float mEffectScale; }; struct sItemInfo { unsigned long mIndex; unsigned char mType; unsigned char mSubType; unsigned long mNameIndex; unsigned long mModelIndex1; unsigned long mModelIndex2; char mHideEar; }; struct sItemOnepieceInfo { unsigned long mIndex; unsigned long mUpperIndex; unsigned long mLowerIndex; unsigned long mHandsIndex; unsigned long mFootsIndex; }; struct sFaceEmoteInfo { unsigned long index; /// list index unsigned char type; /// 0:base, 1:wink, 2:emote cString textureName[eRACE_MAX*eGENDER_MAX]; }; class cUIText; class cParser; // °¢Á¾ °ÔÀÓ Á¤º¸¸¦ À§ÇÑ ÀڷᱸÁ¶µé.. typedef tPointerHashMap cArrayHashMap; typedef tArray cFileNameArray; typedef tArray cArray; class cGameResourceManager { public: static cGameResourceManager* mpGameResourceManager; cGameResourceManager(); ~cGameResourceManager(); /// ÃʱâÈ­ bool Init(); /// Á¾·áºÎ void Exit(); const char* GetModelFileName( unsigned long modelIndex ); /// º¹ÀåÀÇ ±âº» ÆÄÀϸíÀ» Á¦°øÇÑ´Ù. const char* GetDefaultHairFileName( unsigned int hairIdx, char race, char gender ); const char* GetHairColorTextureFileName( unsigned int hairIdx, unsigned int colorIdx, char race, char gender ); const char* GetDefaultFaceFileName( unsigned int faceIdx, char race, char gender ); const char* GetDefaultWearFileName( unsigned int part, char race, char gender ); const char* GetFaceTextureFileName( unsigned long idx, char race, char gender ); inline unsigned int GetDefaultFaceCount() { return mBaseFaceCount; } inline unsigned int GetDefaultHairCount() { return mDefaultHairFileNameMap.GetSize(); } inline unsigned int GetHairColorCount() { return mHairColorMax; } LPCTSTR GetGameText( unsigned int textIdx ); LPCTSTR GetSkillNameText( unsigned int textIdx ); LPCTSTR GetItemNameText( unsigned int nameIdx ); LPCTSTR GetNpcName( unsigned int nameIdx ); LPCTSTR GetMonsterName( unsigned int nameIdx ); /// Item Á¤º¸ ÂüÁ¶ cArrayHashMap* GetItemList() { return &mItemInfo; } const char* GetItemFileName( unsigned long itemFileIdx, char race, char gender, bool weapon ); sItemOnepieceInfo* GetItemOnepieceInfo( unsigned long itemIndex ); /// monster cArrayHashMap* GetMonsterList() { return &mMonsterInfo; } sMonsterInfo* GetMonsterInfo( unsigned long monIdx ); /// npc cArrayHashMap* GetNpcList() { return &mNpceInfo; } protected: /// Game¿¡ »ç¿ëµÇ´Â °íÁ¤ ÅØ½ºÆ®¸¦ ·ÎµùÇÑ´Ù. bool LoadGameText(); /// ¸ðµ¨Á¤º¸ ¹× ij¸¯ÅÍ ±âº» ÆÄÀÏ Á¤º¸.. /// player, npc, monsterÀÇ ¸ðµ¨ÆÄÀÏÁ¤º¸ kfmÆÄÀÏ bool LoadModelFileInfo(); /// ij¸¯ÅÍÀÇ ±âº» ¿ÜÇüÁ¤º¸ nifÆÄÀÏ.. bool LoadCharacterBaseFileInfo(); /// ij¸¯ÅÍÀÇ Çì¾î Á¤º¸ (¸ðµ¨ÆÄÀÏ / ÅØ½ºÃÄÆÄÀÏ) bool LoadCharacterBaseHairFileInfo(); bool LoadHair( cParser& parser ); bool LoadHairColor( cParser& parser ); bool LoadFaceEmotionInfo(); bool LoadItemInfo(); bool LoadItemFileInfo(); bool LoadItemOnePieceInfo(); bool LoadMonsterInfo(); bool LoadNpcInfo(); /// ÂüÁ¶ µ¥ÀÌÅ͸¦ Àç·Îµù ÇÒ°æ¿ì¿¡ »ç¿ëÇÏ·Á°í ¸¸µé¾î º»´Ù. void RemoveAllModelFileName(); void RemoveAllCharacterBaseFileInfo(); protected: // text ¹®¼­ cUIText* mpGameText; cUIText* mpItemNameText; cUIText* mpSkillNameText; cUIText* mpNpcNameText; cUIText* mpMonsterNameText; /// kfmÆÄÀÏ ( NiString »ç¿ë ) cArrayHashMap mModelFileNameMap; /// ¸Ó¸® Á¾·ùµé cArrayHashMap mDefaultHairFileNameMap; /// ¸Ó¸® »ö±ò( ÅØ½ºÃÄ ÆÄÀÏ ) cArrayHashMap mHairColorTextureMap; unsigned int mHairColorMax; /// ¾ó±¼ Á¾·ùµé cArrayHashMap mDefaultFaceFileNameMap; /// À妽º -> »óÀÇ ÇÏÀÇ ¼Õ ¹ß °¢°¢ 1°³ÀÇ Á¤º¸¸¦ °®´Â´Ù. cArrayHashMap mDefaultWearFileNameMap; cArrayHashMap mFaceEmotionMap; unsigned int mBaseFaceCount; /// ¾ÆÀÌÅÛ Á¤º¸ cArrayHashMap mItemInfo; cArrayHashMap mItemFileInfo; cArrayHashMap mItemOnePieceInfo; /// ¸ó½ºÅÍ ¸®½ºÆ® cArrayHashMap mMonsterInfo; cArrayHashMap mNpceInfo; cSkillScript* mpSkillScript; }; #define GAMERESOURCEMAN cGameResourceManager::mpGameResourceManager