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

📄 mnplayermanager.cpp

📁 墨香最新私服
💻 CPP
字号:
// MNPlayerManager.cpp: implementation of the CMNPlayerManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MNPlayerManager.h"
#include "MNPlayer.h"
#include "../[CC]Header/CommonGameFunc.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMNPlayerManager::CMNPlayerManager()
{

}

CMNPlayerManager::~CMNPlayerManager()
{

}

void CMNPlayerManager::Init( DWORD dwMaxPlayer )
{
	m_mpPlayerPool = new CMemoryPool<CMNPlayer>;
	m_mpPlayerPool->Init( dwMaxPlayer );

	m_htPlayer.Initialize( dwMaxPlayer );

	m_nTotalPlayer	= 0;
	m_dwMaxPlayer	= dwMaxPlayer;
}


void CMNPlayerManager::Release()
{
	DeleteAllPlayers();
	SAFE_DELETE( m_mpPlayerPool );
}


void CMNPlayerManager::DeletePlayer( DWORD dwPlayerID )
{
	m_htPlayer.Remove( dwPlayerID );

	//---delete also at the current location?
}

void CMNPlayerManager::DeleteAllPlayers()
{
	m_htPlayer.RemoveAll();	
}

CMNPlayer* CMNPlayerManager::FindPlayer( DWORD dwPlayerID )
{
	return m_htPlayer.GetData(dwPlayerID);
}






CMNPlayer* CMNPlayerManager::AddPlayer( DWORD dwPlayerID, DWORD dwAgentNum, DWORD UniqueIDinAgent, DWORD dwBackMapNum )
{
	ASSERT( m_htPlayer.GetData(dwPlayerID) == NULL );

	BASEOBJECT_INFO binfo;
	memset( &binfo, 0 , sizeof(binfo) );
	binfo.dwObjectID = dwPlayerID;

	CMNPlayer* pPlayer = m_mpPlayerPool->Alloc();
	
	ASSERT(pPlayer);

	if( pPlayer->Init( dwPlayerID, dwAgentNum, UniqueIDinAgent, dwBackMapNum ) == FALSE )
	{
		m_mpPlayerPool->Free( pPlayer );
		return FALSE;
	}

	m_htPlayer.Add( pPlayer, pPlayer->GetID() );


	
	return pPlayer;
}

//void CMNPlayerManager::DeletePlayer()

⌨️ 快捷键说明

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