/** @file TerrainGridBaseRegion.h @brief 地形基于Grid的区域
*	Copyright (c) 2007,第九城市游戏研发中心
*	All rights reserved.
*
*	当前版本:
*	作    者:史亚征
*	完成日期:2008-07-28
*
*	取代版本:
*	作    者:
*	完成日期:
*/ #pragma once #ifndef CODE_INGAME #include "Terrain.h" #include namespace SceneCore { class MAIN_ENTRY CTerrainGridBaseRegion { public: CTerrainGridBaseRegion(const char* pszName = NULL); ~CTerrainGridBaseRegion(void); // 添加一个 Grid. 如果 Grid 数量超界,返回 false void AddGridID(int iID); // 移除一个 Grid void RemoveGridID(int iID); // 清除所有 Grid void Clear(); // 设置/获取 名称 void SetName(const char* pszName); const char* GetName(); // 获取当前区域所包含的所有 Grid ID std::set& GetGridSet(); // 获取/设置 区域是否发生过改变。如果改变了需要重新计算 Geometry bool IsChanged(); void SetChanged(bool bChanged); private: char m_szName[256]; // 区域名称 std::set m_GridSet; // 当前区域包含的 Grid ID bool m_bChanged; // 区域是否发生改变 }; // 内联函数实现 #include "TerrainGridBaseRegion.inl" }; // End of namespace #endif