/* ========================================================================== * ÆÄ ÀÏ : ActionMove.h * ¸ñ Àû : ai À̵¿ * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2006-09-20 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "action.h" #include "RangeCheck.h" #include "Monster_Common.h" class cMonster; class cPlayer; const unsigned long MOVE_WAIT_TIME = 3000; const unsigned long FIRSTMOVE_WAIT_TIME = 5000; const unsigned long IDLE2_ANI_SEND_PER = 100; class cActionMove : public cAction { public: /// »ý¼º¼Ò¸ê cActionMove(void); ~cActionMove(void); /// ¾×¼Ç °´Ã¼ ÃʱâÈ­ void ActionInit( cMonster* pMonster, unsigned long accumTime ); /// À̵¿»óÅ ÇÁ·Î¼¼½º eACTION_CHANGE Action( cMonster* pMonster, unsigned long deltaTime, unsigned long accumTime ); private: /// À̵¿¹æ¹ý(¼Óµµ) ¼±Åà eMOVE_SPEED_TYPE RandMoveSpeed( cMonster* pMonster, unsigned long *moveSpeed ); /// ¸ó½ºÅÍ °Ë»ö ¹üÀ§¿¡ ÇØ´çÇÏ´Â Ç÷¹À̾îµéÀ» °Ë»çÇØ Ÿ°ÙÀ» Àâ´Â´Ù. cPlayer* TargetSelect( cMonster* pMonster, unsigned long seekRange ); private: /// ÇൿÀÌ ³¡³ª°í ÀÏÁ¤½Ã°£ ´ë±â unsigned long mWaitEndTime; cRangeCheck mRangechk; /// ¼­¹ö ºÎÇÏ ¹æÁö Áö¿¬½Ã°£ unsigned long mDelayTime; unsigned long mDelayTime2; /// ¸®Á¨ ÈÄ ÀÏÁ¤½Ã°£ À̵¿ Á¤Áö ½Ã°£ unsigned long mRegenCantMoveEndTime; /// ÀÚÀ¯À̵¿ °æ·Î ¼³Á¤ ¿À·ù Ä«¿îÆ® /// ¡Ø ¸ó½ºÅͰ¡ ÀÚÀ¯À̵¿ ½ÃÁ¡¿¡¼­ ³Ê¹« ¸Ö¾î º¹±Í °æ·Î¸¦ ¼³Á¤ ¸øÇÏ´Â °æ¿ì unsigned long mSetPathErrCnd; /// ´ë±âµ¿ÀÛ2 ¹ß¼Û bool mIsIdle2Send; unsigned long mIdle2SendTime; /// À̵¿ ³¡³­ ÈÄ Ã³À½ ÇÁ·¹ÀÓ»ç¿ë º¯¼ö bool mFirstMoveEndCheck; /// ´ë±â½Ã°£ Á¾·áÈÄ Ã³À½ ÇÁ·¹ÀÓ »ç¿ë º¯¼ö bool mFirstWaitEndCheck; };