#ifndef ITEMCOMPOSITEPARSER_H #define ITEMCOMPOSITEPARSER_H #pragma once #include #include #include #include #include struct sITEMCOMPOSITEMATERIAL { SLOTCODE m_dwCompositeMaterialCode; DURATYPE m_bySpendMaterialNum; }; struct sITEMCOMPOSITE { enum { MAX_COMPOSITE_MATERIAL = 5, }; SLOTCODE m_Code; // eITEMCOMPOSITECODE ÂüÁ¶ BYTE m_byResult; // ItemCompositeResult.txt ÂüÁ¶. DURATYPE m_byMatCount; sITEMCOMPOSITEMATERIAL m_sCompositeMaterials[MAX_COMPOSITE_MATERIAL ]; // ÇÊ¿ä ¸ÞÅ͸®¾ó / °³¼ö MONEY m_Money; }; class ItemCompositeParser : public util::Singleton, public IParser { public: ItemCompositeParser(void); virtual ~ItemCompositeParser(void); public: VOID Init( DWORD dwCompositeInfoSize ); VOID Init( DWORD dwCompositeInfoSize, char* pszPackFileName ); VOID Release(); VOID Reload(); sITEMCOMPOSITE* GetCompositeInfo( eITEMCOMPOSITECODE CompositeCode ) { return m_pCompositeInfoHashTable->GetData( CompositeCode ); } public: virtual BOOL LoadScript( eSCRIPT_CODE scriptCode, BOOL bReload ); private: BOOL _Load( BOOL bReload ); protected: VOID Unload(); private: util::SolarHashTable* m_pCompositeInfoHashTable; char m_pszFileName[MAX_PATH]; }; #endif //ITEMCOMPOSITEPARSER_H