/*========================================================================= * * SECTelem.hpp : Definition of Editor Elements * * * Version 1.0 * Creation date * Revision date * * Shaitan *=======================================================================*/ #ifndef __SECT_ELEMB_HPP__ #define __SECT_ELEMB_HPP__ #include "incITF.h" #include "incGAM.h" //************************************** #ifndef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif #endif //************************************** class Sector_Object; class Sector_Interface; #define C_szSectorsLinkSubSection "SectorsLink" //Shaitan Clean Env //#define C_szEnvAndSurfSubSection "ENVAndSRF" //################################################################################# // SECTORS LINK //################################################################################# /*=========================================================================== Element ===========================================================================*/ class SECT_ElementBase : public CPA_SectionObject { protected: CPA_SuperObject *m_pSector; Sector_Object *m_pOwnerSector; public: SECT_ElementBase (Sector_Object *pOwnerSector); ~SECT_ElementBase() {} CPA_SuperObject * GetSector (void) { return m_pSector; } Sector_Object * GetOwnerSector (void) { return m_pOwnerSector; } // save static void CallBackSaveSectorsLink (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction); }; /*=========================================================================== List ===========================================================================*/ class SECT_ListBase { protected: Sector_Object *m_pOwnerSector; long m_lNbElements; public: SECT_ListBase (void); ~SECT_ListBase (void) { }; virtual BOOL fn_bAddAnElement (SECT_ElementBase *pNewElem, BOOL bUpdateEngine = TRUE); virtual void fn_vRemoveAnElement (SECT_ElementBase *pOldElem, BOOL bUpdateEngine = TRUE); virtual void fn_vRemoveAllElements (BOOL bUpdateEngine); virtual SECT_ElementBase * GetHeadElementBase (POSITION& rPosition) { return NULL; } virtual SECT_ElementBase * GetNextElementBase (POSITION& rPosition) { return NULL; } void SetOwnerSector (Sector_Object *pOwnerSector) { m_pOwnerSector = pOwnerSector; } long GetNbElements (void) { return m_lNbElements; } SECT_ElementBase * GetElementWithSector (CPA_SuperObject *pSector); }; //################################################################################# // ENVIRONMENT AND SURFACE //################################################################################# /*=========================================================================== Element ===========================================================================*/ /* class SECT_EnvElementBase : public CPA_SectionObject { protected: Sector_Object *m_pOwnerSector; public: SECT_EnvElementBase (Sector_Object *pOwnerSector); ~SECT_EnvElementBase() {} Sector_Object * GetOwnerSector (void) { return m_pOwnerSector; } // save static void CallBackSaveEnvAndSurf (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction); }; */ #endif //__SECT_ELEMB_HPP__