⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regenzonemanager.h

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 H
字号:
#ifndef __REGEN_ZONE_MANAGER_H__#define __REGEN_ZONE_MANAGER_H__#include "Types.h"#include "Exception.h"#include "MonsterCorpse.h"#include "Mutex.h"#include <map>class PlayerCreature;class GCRegenZoneStatus;class RegenZoneInfo{public:	enum RegenZoneIndex	{		REGEN_ZONE_SLAYER,		REGEN_ZONE_VAMPIRE,		REGEN_ZONE_OUSTERS,		REGEN_ZONE_DEFAULT	};	RegenZoneInfo( uint ID, MonsterCorpse* pTower, uint Owner ) : m_ID(ID), m_pRegenZoneTower(pTower) { Assert( Owner < 4 ); m_Owner = (RegenZoneIndex)Owner; }	uint getID() const { return m_ID; }	MonsterCorpse* getTower() const { return m_pRegenZoneTower; }	RegenZoneIndex getOwner() const { return m_Owner; }	void setOwner( RegenZoneIndex owner ) { m_Owner = owner; }	RegenZoneIndex getOriginalOwner() const { return m_OriginalOwner; }	void setOriginalOwner( RegenZoneIndex owner ) { m_OriginalOwner = owner; }	void putTryingPosition() throw(Error);	void deleteTryingPosition() throw(Error);private:	uint			m_ID;	MonsterCorpse*	m_pRegenZoneTower;	RegenZoneIndex	m_Owner;	RegenZoneIndex	m_OriginalOwner;};class RegenZoneManager{	map<uint, RegenZoneInfo*>	m_RegenZoneInfos;	Mutex						m_Mutex;	GCRegenZoneStatus*			m_pStatusPacket;	RegenZoneManager();public:	~RegenZoneManager();	void load() throw(Error);	void reload() throw(Error);	void lock() { m_Mutex.lock(); }	void unlock() { m_Mutex.unlock(); }	void putTryingPosition() throw(Error);	void deleteTryingPosition() throw(Error);	void changeRegenZoneOwner( MonsterCorpse* pTower, Race_t race );	bool canTryRegenZone( PlayerCreature* pPC, MonsterCorpse* pTower );	bool canRegen( PlayerCreature* pPC, uint ID );	void regeneratePC( PlayerCreature* pPC, uint ID );	void broadcastStatus();	GCRegenZoneStatus* getStatusPacket() const { return m_pStatusPacket; }	static RegenZoneManager* getInstance() { static RegenZoneManager theInstance; return &theInstance; }};#endif// __REGEN_ZONE_MANAGER_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -