2026-10-04 00:04:20 +08:00
|
|
|
#pragma once
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
|
|
|
class GlwUGRampDataManage;
|
|
|
|
|
class GlwPlaceTreeDataManage;
|
|
|
|
|
class CLandScapeStyle;
|
|
|
|
|
class CCoordGridDataManage;
|
|
|
|
|
|
|
|
|
|
template <class T>
|
|
|
|
|
void deletePtr (T* &ptr)
|
|
|
|
|
{
|
|
|
|
|
if (!ptr) return;
|
|
|
|
|
delete ptr;
|
|
|
|
|
ptr = NULL;
|
|
|
|
|
};
|
|
|
|
|
#define DECLARE_GLOBAL_VARIABLE(class_name)\
|
|
|
|
|
private:\
|
|
|
|
|
class_name *m_p##class_name;\
|
|
|
|
|
public:\
|
|
|
|
|
void Set_##class_name(class_name *ptr){m_p##class_name = ptr;}\
|
|
|
|
|
class_name* Get_##class_name(){return m_p##class_name;}
|
|
|
|
|
|
|
|
|
|
#define CONSTRUCT_GLOBAL_VARIABLE(class_name)\
|
|
|
|
|
m_p##class_name(NULL)
|
|
|
|
|
|
|
|
|
|
#define DESTRUCT_GLOBAL_VARIABLE(class_name)\
|
|
|
|
|
deletePtr(m_p##class_name);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GlwGlobalVariable
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GlwGlobalVariable(void);
|
|
|
|
|
~GlwGlobalVariable(void);
|
|
|
|
|
DECLARE_GLOBAL_VARIABLE(GlwPlaceTreeDataManage);
|
|
|
|
|
DECLARE_GLOBAL_VARIABLE(CLandScapeStyle);
|
|
|
|
|
DECLARE_GLOBAL_VARIABLE(GlwUGRampDataManage);
|
|
|
|
|
DECLARE_GLOBAL_VARIABLE(CCoordGridDataManage);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern GlwGlobalVariable *pGlobalVariable;
|
|
|
|
|
|
|
|
|
|
#define GET_GLOBAL_VARIABLE(class_name)\
|
|
|
|
|
pGlobalVariable->Get_##class_name()
|
|
|
|
|
|
|
|
|
|
#define SET_GLOBAL_VARIABLE(class_name, ptr)\
|
|
|
|
|
pGlobalVariable->Set_##class_name(ptr)
|
|
|
|
|
|