/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.05 * ³» ¿ë : ³×ºñ¸Þ½Ã °ÇÃà ½ÇÇà * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Doing.h" class cNaviMeshLeafNode; /// ³×ºñ¸Þ½Ã ³ëµå °ÇÃà Á¤º¸ class cNaviMeshNodeBuildingInfo { public: cNaviMeshNodeBuildingInfo(); public: /// ¸®ÇÁ ³ëµå cNaviMeshLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mUndoHeightArray; /// Redo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mRedoHeightArray; }; inline cNaviMeshNodeBuildingInfo::cNaviMeshNodeBuildingInfo() : mNode( 0 ) , mXBegin( 0 ) , mYBegin( 0 ) , mXEnd( 0 ) , mYEnd( 0 ) , mUndoHeightArray( 0 ) , mRedoHeightArray( 0 ) { } /// ³×ºñ¸Þ½Ã °ÇÃà Á¤º¸ class cNaviMeshBuildingInfo { public: /// ³ëµå Á¤º¸ ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; }; /// ³×ºñ¸Þ½Ã ³ëµå °ÇÃà class cNaviMeshNodeBuilding { public: cNaviMeshNodeBuilding( const cNaviMeshNodeBuildingInfo& info ); ~cNaviMeshNodeBuilding(); void Undo(); void Redo(); public: /// ¸®ÇÁ ³ëµå cNaviMeshLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mUndoHeightArray; /// Redo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mRedoHeightArray; }; /// ³×ºñ¸Þ½Ã °ÇÃà class cNaviMeshBuilding : public cDoing { friend class cDoingManager; friend class cNaviMesh; private: cNaviMeshBuilding( const cNaviMeshBuildingInfo& info ); ~cNaviMeshBuilding(); void Undo(); void Redo(); private: /// ³ëµå ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; };