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

📄 gameroom.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:
#include "StdAfx.h"
#include ".\gameroom.h"
#include "Player.h"
#include "PartyManager.h"
#include "Party.h"

GameRoom::GameRoom(void) : m_MasterUserKey(0)
{
}

GameRoom::~GameRoom(void)
{
}

VOID GameRoom::Release()
{
	GameZone::Release();

	// 颇萍甫 昏力茄促.
	Party *pParty;
	m_pPartyHashTable->SetFirst();
	while( pParty = m_pPartyHashTable->GetNext() )
	{
		PartyManager::Instance()->RemoveParty( pParty->GetPartyKey(), FALSE );
	}

	m_pPartyHashTable->clear();
}

VOID GameRoom::Init( KEYTYPE Key, CODETYPE MapCode, const TCHAR * pszRoomTitle, const TCHAR * pszRoomPWD, const BASE_ROOMINFO * IN pRoomInfo )
{
	GameZone::Init( Key, MapCode );

	SetRoomTitle( pszRoomTitle );
	SetRoomPWD( pszRoomPWD );
	SetBaseRoomInfo( pRoomInfo );
}

WORD GameRoom::CreateParty( DWORD dwMasterUserKey, BYTE byTeamIndex )
{
	Party *pParty = PartyManager::Instance()->AllocParty();
	if( pParty )
	{
		pParty->Init( dwMasterUserKey );
		m_pPartyHashTable->Add( pParty, byTeamIndex );
		return pParty->GetPartyKey();
	}
	return 0;
}

BOOL GameRoom::Join( Player * pPlayer, CODETYPE FieldCode, WzID AreaID )
{
	if( GameZone::Join( pPlayer, FieldCode, AreaID ) )
	{
		pPlayer->SaveStartLocation();

		return TRUE;
	}

	return FALSE;
}

VOID GameRoom::Leave( Player * pPlayer )
{
	// 颇萍俊 家加捞 登菌促搁 颇萍俊辑 狐柳促.
	pPlayer->LeaveParty();

	GameZone::Leave( pPlayer );
}

VOID GameRoom::ChangeMaster( DWORD dwNextMasterUserKey )
{
	// 规厘阑 函版茄促.
	SetMasterUserKey( dwNextMasterUserKey );

	// 颇萍厘阑 函版茄促.(清泼, 固记冯)
	Party *pParty = m_pPartyHashTable->GetData( 0 );
	if( pParty )
	{
		RC::ePARTY_RESULT rcResult = PartyManager::Instance()->AppointMaster( pParty->GetPartyKey(), dwNextMasterUserKey );
		if( rcResult != RC::RC_PARTY_SUCCESS )
		{
//			SUNLOG( eFULL_LOG, "[GameRoom::ChangeMaster] Can't Change The Master Of Party! ErrorCode[%d] ", rcResult );
		}
	}
}











⌨️ 快捷键说明

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