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

📄 playroom.h

📁 墨香最新私服
💻 H
字号:
// PlayRoom.h: interface for the CPlayRoom class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PLAYROOM_H__198F33F5_F019_48CD_902D_C788CBDF4865__INCLUDED_)
#define AFX_PLAYROOM_H__198F33F5_F019_48CD_902D_C788CBDF4865__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CMNPlayer;


class CTeam
{
protected:

	CYHHashTable<CMNPlayer>	m_htPlayer;

	int		m_nTeam;
	
	DWORD	m_dwMaxPlayerNum;
	DWORD	m_dwCurPlayerNum;

public:

	CTeam();
	virtual ~CTeam();

	void Init( int nTeam, DWORD dwMaxPlayerNum );

	BOOL AddPlayer( CMNPlayer* pMNPlayer );
	void DeletePlayer( CMNPlayer* pMNPlayer );
	void DeleteAllPlayer();
	
	DWORD GetPlayerCount() { return m_dwCurPlayerNum; }
};



class CPlayRoom  
{
protected:

	PLAYROOM_BASEINFO	m_PlayRoomInfo;

	CYHHashTable<CMNPlayer>	m_htPlayer;

	CTeam	m_Team[eTEAM_MAX];

public:

	CPlayRoom();
	virtual ~CPlayRoom();

	void Create( PLAYROOM_CREATE_INFO* ppci );
	void Release();
	DWORD GetPlayRoomIndex()	{ return m_PlayRoomInfo.dwPlayRoomIndex; }

	BOOL AddPlayer( CMNPlayer* pMNPlayer );
	BOOL DeletePlayer( CMNPlayer* pMNPlayer );
	BOOL DeletePlayer( DWORD dwObjectID );
	void DeleteAllPlayers();

	BOOL PlayerIn( CMNPlayer* pMNPlayer );
	BOOL PlayerOut( CMNPlayer* pMNPlayer );
	void PlayerReconnect( CMNPlayer* pMNPlayer );
	BOOL IsInThisPlayRoom( CMNPlayer* pMNPlayer );
	void PlayStart( BOOL bStart );
	BOOL IsStarted()				{ return m_PlayRoomInfo.cbStart; }

//---
	BOOL TeamChange( CMNPlayer* pMNPlayer, BYTE cbFromTeam, BYTE cbToTeam );
//---
	char* GetTitle()					{ return m_PlayRoomInfo.strPlayRoomTitle; }
	PLAYROOM_BASEINFO*	GetBaseInfo()	{ return &m_PlayRoomInfo; }

///
	WORD GetPlayerNum()					{ return m_PlayRoomInfo.wPlayerNum; }
	void GetPlayerInfoList( MSPLAYER_INFO* pInfoArray );
	
	MAPTYPE GetMapNum()					{ return m_PlayRoomInfo.wMapNum;	}
///

//---msg Func.
	void SendMsgToAll( MSGBASE* pMsg, int MsgLen, CMNPlayer* pExceptPlayer = NULL, BOOL bOnlyPlayRoom = TRUE );
//	void SendMsgAllExceptOne( CMNPlayer* pExceptPlayer, MSGBASE* pMsg, int MsgLen );

	void SendMsg_PlayRoomInfo( CMNPlayer* pMNPlayer );
	void SendMsg_NewPlayerInfoToAll( CMNPlayer* pMNPlayer );
	void SendMsg_BecomeCaptain( CMNPlayer* pMNPlayer );
	void SendMsg_AllPlayerInfo( CMNPlayer* pMNPlayer );
	void SendMsg_PlayerOut( CMNPlayer* pMNPlayer );



};

#endif // !defined(AFX_PLAYROOM_H__198F33F5_F019_48CD_902D_C788CBDF4865__INCLUDED_)

⌨️ 快捷键说明

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