/* ======================================================================================================= * ÆÄ ÀÏ : PathObserver.h , PathObserver.cpp * ¸ñ Àû : °´Ã¼µé¸¶´Ù ÀڽŸ¸ÀÇ °æ·Î¸¦ °®µµ·Ï ÇØÁØ´Ù. * ÀÛ ¼º ÀÚ : Á¤¿øÁÖ * ÀÛ ¼º ÀÏ : 2006³â 9¿ù 26ÀÏ * * Ãß°¡³»¿ë : * Ãß°¡³¯Â¥ ÀÛ¾÷ÀÚ Ãß°¡³»¿ë * * ÁÖÀÇ»çÇ× : . * ======================================================================================================== */ #pragma once class cPathfinder; class cPathNodeSet { private: void MemoryDestory(); ///index¸¦ ½ÇÁ¦ ÁÂÇ¥·Î º¯È¯ÇØÁÖ´Â ÇÔ¼ö void MakeRealPosition(); public: bool Create(cPathfinder* pathfinder); void ResetPath(float startx,float starty,float destx,float desty); void RayPath(float destx,float desty); NiPoint2 GetNextPath(); NiPoint2 GetCurrentPathNode(const unsigned int& curnode); bool IsFinalPath(); unsigned int GetTotalPathCount() { return mTotalPathCount; } unsigned int GetCurrentPathCount() { return mCurrentUseIndex; } void GetPathArray(POINT* array , const unsigned int maxcopycount, unsigned int& copycount); void SetPathArray(POINT* array, const unsigned int count); cPathNodeSet(); ~cPathNodeSet(); private: cPathfinder* mpPathfinder; POINT* mPointArray; struct Point2 { float x, y; }; ///½ÇÁ¦ ÁÂÇ¥ÀÇ Áß°£ °ªÀÌ µé¾î°£ ¸®½ºÆ® tArray mPosvectorlist; ///mPosvectorlist¿¡ ÃÖÁ¾ÀûÀ¸·Î µé¾î°¡´Â index¼ö unsigned int mTotalPathCount; ///ÇöÀç À¯Àú°¡ »ç¿ëÇϰí ÀÖ´Â Index unsigned int mCurrentUseIndex; };