📄 gameroom.h
字号:
#pragma once
#include "gamezone.h"
#include "SolarHashTable.h"
class Party;
class GameRoom : public GameZone
{
public:
GameRoom(void);
virtual ~GameRoom(void);
VOID Init( KEYTYPE Key, CODETYPE MapCode, const TCHAR * pszRoomTitle, const TCHAR * pszRoomPWD, const BASE_ROOMINFO * IN pRoomInfo );
virtual VOID Release();
virtual eZONETYPE GetZoneType() = 0;
virtual VOID Ready( Player * pPlayer, CODETYPE FieldCode, WzID AreaID )=0;
virtual BOOL Join( Player * pPlayer, CODETYPE FieldCode, WzID AreaID );
virtual VOID Leave( Player * pPlayer );
inline VOID SetMasterUserKey( DWORD dwUserKey ) { m_MasterUserKey = dwUserKey; }
inline DWORD GetMasterUserKey() { return m_MasterUserKey; }
virtual VOID ChangeMaster(DWORD dwNextMasterUserKey );
virtual WORD CreateParty( DWORD dwMasterUserKey, BYTE byTeamIndex=0 );
Party* GetParty( BYTE byTeamIndex ) { return m_pPartyHashTable->GetData( byTeamIndex ); }
inline const TCHAR * GetRoomTitle() { return m_pszRoomTitle; }
inline const BASE_ROOMINFO * GetBaseRoomInfo() { return &m_RoomInfo; }
virtual const ADDITIONAL_ROOMINFO * GetAdditionalInfo() { static ADDITIONAL_ROOMINFO info; return &info; }
virtual const ADDITIONAL_PVPINFO * GetAdditionalPVPInfo() { static ADDITIONAL_PVPINFO info; return &info; }
protected:
inline VOID SetRoomTitle(const TCHAR * title) { memcpy(m_pszRoomTitle, title, MAX_ROOMTITLE_LENGTH*sizeof(TCHAR)); m_pszRoomTitle[MAX_ROOMTITLE_LENGTH]='\0'; }
inline VOID SetRoomPWD(const TCHAR * pw) { memcpy(m_pszRoomPWD, pw, MAX_ROOMPASSWORD_LENGTH*sizeof(TCHAR)); m_pszRoomPWD[MAX_ROOMPASSWORD_LENGTH]='\0'; }
inline VOID SetBaseRoomInfo(const BASE_ROOMINFO * pInfo) { memcpy(&m_RoomInfo, pInfo, sizeof(BASE_ROOMINFO)); }
private:
DWORD m_MasterUserKey; //< 规厘
TCHAR m_pszRoomTitle[MAX_ROOMTITLE_LENGTH+1];
TCHAR m_pszRoomPWD[MAX_ROOMPASSWORD_LENGTH+1];
BASE_ROOMINFO m_RoomInfo;
protected:
util::SolarHashTable<Party*>* m_pPartyHashTable; // 虐蔼篮 评牢郸胶肺 茄促. 叼弃飘 0
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -