115 lines
3.3 KiB
C++
115 lines
3.3 KiB
C++
/*=========================================================================
|
|
*
|
|
* 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__
|