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

📄 gamemissionroom.cpp

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


__IMPL_GAMEZONEPOOL(GameMissionRoom)
GameMissionRoom::GameMissionRoom(void)
{
	m_pPartyHashTable = new util::SolarHashTable<Party*>;
	m_pPartyHashTable->Initialize( 1 );
}

GameMissionRoom::~GameMissionRoom(void)
{
	SAFE_DELETE(m_pPartyHashTable);
}

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

	GameZone::LoadMap();
}

VOID GameMissionRoom::Ready( Player * pPlayer, CODETYPE FieldCode, WzID AreaID )
{
	DEBUG_CODE(
	GameZone * pEnterZone	= NULL;
	CODETYPE EnterFieldCode	= 0;
	eZONE_STATE eRoomState	= pPlayer->GetGameZone( pEnterZone, EnterFieldCode );
	ASSERT( !(eRoomState & ePRS_AT_ZONE) );
	);
	

	pPlayer->SetGameZone( ePRS_BEFORE_ENTER_MISSION, this, FieldCode, AreaID );
}

BOOL GameMissionRoom::Join( Player * pPlayer, CODETYPE FieldCode, WzID AreaID )
{
	DEBUG_CODE	(	GameZone * pEnterZone = NULL;	CODETYPE EnterFieldCode = 0;
					eZONE_STATE eRoomState	= pPlayer->GetGameZone( pEnterZone, EnterFieldCode );
					ASSERT( (eRoomState & ePRS_BEFORE_ENTER_MISSION) );
				);

	pPlayer->SetGameZone( ePRS_AT_MISSION, this, FieldCode );

	if( !GameRoom::Join( pPlayer, FieldCode, AreaID ) )
	{
		pPlayer->SetGameZone( ePRS_NOT_AT_ZONE, NULL, 0 );

		// 固记狼 荐青沥焊甫 焊郴霖促!!

		return FALSE;
	}


	//泅犁 努扼捞攫飘俊辑 贸府窍瘤 臼栏骨肺 林籍贸府
	SendActionDoneTriggers<MSG_CG_TRIGGER_DONE_ACTION_INFO_CMD> msg;
	Field * pField = GetMap()->GetFieldx( FieldCode );
	pField->GetTriggerManager()->ForeachTrigger(msg);
	msg.SendInfo(pPlayer);

	// 家加等 Zone狼 颇萍俊 啊涝矫挪促.
	Party *pParty = GetParty( 0 );
	if( pParty )
	{
		pPlayer->JoinParty( pParty->GetPartyKey() );
	}

	return TRUE;
}







⌨️ 快捷键说明

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