#ifndef _VIRTUAL_AREA_MANAGER_H_ #define _VIRTUAL_AREA_MANAGER_H_ #pragma once #include #include #include class CCell; class CCharacter; namespace VirtualArea { // Àü¹æ ÂüÁ¶ class CBGServerMgr; class CDuelMgr; class CDungeonMgr; class CVirtualArea; class CVirtualAreaMgr { public: enum Const { VIRTUALAREA_PULSE = 20 // 2ÃÊ¿¡ Çѹø¾¿ ó¸® }; static CVirtualAreaMgr& GetInstance(); // Script ÆÄÀÏ ·Îµå bool LoadVirtualAreaProtoType(const char* szFileName = 0); CVirtualArea* GetVirtualArea(unsigned short wMapIndex); const VirtualArea::ProtoType* GetVirtualAreaProtoType(unsigned long dwVID); const VirtualArea::ProtoType* GetVirtualAreaProtoType(char* szMapType); bool EnterVirtualArea(CCharacter* lpCharacter, unsigned short wMapIndex, unsigned char cMoveType); bool LeaveVirtualArea(CCharacter* lpCharacter); void ProcessAllVirtualArea(); void ProcessAllMonster(); void ProcessMonsterRegenHPAndMP(); void ProcessSummonMonsterDead(); void ProcessDeleteItem(); // Cell BroadCasting bool ProcessAllCellPrepareBroadCast(); bool ProcessAllCellBroadCast(unsigned long dwCurrentPulse); // -------------------------------------------------------------------------------------------- // BattleGround Server °ü·Ã ÇÔ¼ö bool CreateBGServer(); // Battle Ground Server Map °ú Cell »ý¼º bool SendBGServerMapList(CCharacter* lpCharacter); bool SendBGServerResultList(CCharacter* lpCharacter); // -------------------------------------------------------------------------------------------- // Duel °ü·Ã ÇÔ¼ö // -------------------------------------------------------------------------------------------- // Dungeon °ü·Ã ÇÔ¼ö private: CVirtualAreaMgr(); ~CVirtualAreaMgr(); void DestroyVirtualAreaProtoTypeArray(); // -------------------------------------------------------------------------------------------- // member variable CBGServerMgr& m_BGServerMgr; CDuelMgr& m_DuelMgr; CDungeonMgr& m_DungeonMgr; VirtualArea::ProtoType* m_VirtualAreaProtoTypeArray; size_t m_VirtualAreaProtoTypeNum; const VirtualArea::MapTypeMatching m_MapTypeMatching; // -------------------------------------------------------------------------------------------- // BattleGround Server º¯¼ö // -------------------------------------------------------------------------------------------- // Duel º¯¼ö // -------------------------------------------------------------------------------------------- // Dungeon º¯¼ö }; } #endif // _VIRTUAL_AREA_MANAGER_H_