/* ========================================================================== * ÆÄ ÀÏ : Gathering.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2008-12-11 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Gathering_Common.h" #include "BaseObject.h" #include "RangeCheck.h" enum eACTION_GAT_ID; enum eACTION_GAT_CHANGE; class cGathering : public cBaseObject { public: /// »ý¼º¼Ò¸ê cGathering( void ); virtual ~cGathering( void ); /// ¸Þ¸ð¸® ÇÒ´ç Á¦°Å pool »ç¿ë void* operator new ( size_t n ); void operator delete ( void* ptr, size_t n ); bool GatheringInit( unsigned long objectIdx, unsigned long regenIdx, unsigned long gatheringIdx, unsigned short mapNumber, float posX, float posY, float direction, float height ); void SetFlagTeamType( unsigned char teamType ) { mFlagTeamType = teamType; } void Update( unsigned long elapsedTime, unsigned long accumTime ); float GetAppendZ() { return mHeight; } float GetDirection() { return mDirection; } bool SelectRegenPos(); unsigned long GetClassIdx(); void SendRegenSync(); void SendRegenSync( unsigned char teamType ); /// äÁýÇÏ´Â À¯Àú Ãß°¡ void AddGatherPlayer( cPlayer* pPlayer ); /// À¯Àú Ãë¼Ò ½Åû void ReqEraseGatherPlayer( cPlayer* pPlayer ); /// äÁý Ãë¼Ò (»óÅÂÀÌ»ó ) void CancelGatherByOddity( cPlayer* pPlayer ); void EraseGatherPlayer( cPlayer* pPlayer ); /// äÁý Á¾·á - µå·Óó¸® void GatheringDie( unsigned long playerIdx ); void GatheringDie_DM( unsigned long playerIdx ); void SetDMIndex( unsigned long dmIdx ) { mDMIdx = dmIdx; } unsigned long GetInfluence(); private: /// ½ºÅ©¸³Æ® Á¤º¸ sGatheringList* mpGatheringInfo; /// ¸®Á¨Á¤º¸ unsigned long mGatheringIdx; /// äÁýIDX float mPosX; /// ÁÂÇ¥ float mPosY; float mDirection; /// ȸÀü°ª float mHeight; /// ³ôÀÌ È®Àå°ª typedef tHashMap cHashMap; cHashMap mGatherCharactorMap; unsigned long mRegenIndex; cRangeCheck mRangeCheck; /// µ¥½º¸ÅÄ¡¿ë äÁý¹° ¿¬°á unsigned long mDMIdx; unsigned char mFlagTeamType; public: bool SendSightIn ( char category, char protocol, unsigned long connectionIdx ); bool SendSightOut ( char category, char protocol, unsigned long connectionIdx ); };