#pragma once #include #include #include struct CREATION_INFO { BYTE class_type; char class_name[MAX_CHARNAME_LENGTH + 1]; DWORD class_description_code; #ifdef _NA_005003_20120612_NEW_CHARACTER_MYSTIC_FOR_CLIENT char race_name[MAX_CHARNAME_LENGTH + 1]; DWORD race_description_code; #endif //_NA_005003_20120612_NEW_CHARACTER_MYSTIC_FOR_CLIENT BYTE base_gender_type; DWORD enable_select_class[eCHAR_TYPE_MAX - 1]; }; class CharacterCreationInfoParser : public Singleton, public IParser { typedef std::vector CREATION_INFO_LIST; typedef std::vector::iterator CREATION_INFO_ITR; public: CharacterCreationInfoParser(); ~CharacterCreationInfoParser(); void Init(DWORD info_pool_size); void Init(DWORD info_pool_size, char* pack_filename); void Release(); virtual BOOL LoadScript(eSCRIPT_CODE script_code, BOOL is_reload); //------------------------------------------------------------------------------ //! Returns: CREATION_INFO* //! Qualifier: ¿ÜÇü ±âÁØÀ¸·Î ¼±Åà °¡´ÉÇÑ Á÷¾÷ //! Parameter: BYTE class_type : ½ºÅ©¸³Æ®:ChaIndex Çʵå (¿ÜÇü À妽º) //------------------------------------------------------------------------------ CREATION_INFO* GetCreationInfo(BYTE class_type); //------------------------------------------------------------------------------ //! Returns: int //! Qualifier: Á÷¾÷À» ±âÁØÀ¸·Î ¼±Åà °¡´ÉÇÑ ¿ÜÇü //! Parameter: eCHAR_TYPE class_type : Á÷¾÷ //! Parameter: bool silhouette_type[] : ¼±Åà °¡´ÉÇÑ ¿ÜÇü ¹è¿­ //------------------------------------------------------------------------------ int GetSkinClass(eCHAR_TYPE char_class, bool skin_class[/*eCHAR_TYPE_MAX*/]); private: void LoadScript(); void Unload(); CREATION_INFO_LIST creation_info_list_; };