/*============================================================================= * * Filename: GMatObj.hpp * Version: 1.0 * Date: 06/11/96 * Author: B.G. * * Description: editor material class * *===========================================================================*/ #ifndef __GMATOBJ_HPP__ #define __GMATOBJ_HPP__ /******************************************/ #if _MSC_VER >= 1000 #pragma once #endif /******************************************/ #include #include #include "Acp_base.h" #include "itf.h" #include "gmt.h" #include "scr.h" #include "dpt.h" #include "x:\cpa\main\inc\_editid.h" //TODO: replace with "mai.h" some day class tdoEditorGameMaterial : public CPA_SaveObject { public: tdoEditorGameMaterial( CPA_FileObject *_p_oOwnerFile, CString _csId, BOOL _bSectionAlreadyExists, GMT_tdxHandleToGameMaterial _hTemplateMaterial ); ~tdoEditorGameMaterial(); GMT_tdxHandleToGameMaterial m_hGetEngineMaterial() { return m_hGameMaterial; } static void m_vCallBackSaveGMT( // save the whole game material section SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction ); void m_vLoadAssociatedEngineMaterial(BOOL _bEndOfLoad = TRUE); void m_vAssociateEngineMaterial(GMT_tdxHandleToGameMaterial _hGameMaterial, BOOL _bSectionAlreadyExists); BOOL m_bIsReferenced(); static SCR_tdst_Link_Table *m_p_stGetAssociatedLinkTable(); static BOOL m_bIsEngineMaterialValid(GMT_tdxHandleToGameMaterial _hGameMaterial); //static CString m_csGetBaseDataPath(); static void m_vInvalidateEngineMaterial(GMT_tdxHandleToGameMaterial &r_hGameMaterial); static CString m_csGetMaterialType(); static CString m_csGetScriptExtension(); //overloads from base class virtual void *GetData(void) { return m_hGameMaterial; } virtual long GetDataType(void) { return 0; }; //virtual void fn_vNotify(SCR_tde_Ntfy_Action _eAction); //CString GetReferencedSectionName(void); //for internal use only! virtual tdeMissingCriteria fn_eCheckUnicity(const CString csNewName) { return fn_eCheckUnicityWithOwner(csNewName); } //ROMTEAM WorldEditor (Cristi Petrescu 11/12/97) WORD m_uwTypeOfZonesUsingMe (void); //ENDROMTEAM WorldEditor (Cristi Petrescu) private: GMT_tdxHandleToGameMaterial m_hGameMaterial; }; #endif /* __GMATOBJ_HPP__ */