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

📄 village.cpp

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

__IMPL_ZONE_POOL(Village);

Village::Village(void)
{
	setType( eZONE_VILLAGE );
}

Village::~Village(void)
{
}

BOOL Village::Init( KEYTYPE Key )
{
	if( !Zone::Init( Key, Key ) ) return FALSE;

	setType( eZONE_VILLAGE );

	return TRUE;
}

BOOL Village::readyPlayer( Player * pPlayer, CODETYPE FieldCode )
{
	// 肺厚 唱啊辑 付阑 倒酒 哎 锭 => AT_LOBBY
	// 固记俊辑 唱啊辑 付阑 倒酒 哎 锭 => NOT_AT_ZONE
	// 清泼俊辑 唱啊辑 付阑 倒酒 哎 锭 => NOT_AT_ZONE
	// 惑炔俊 蝶扼 绢痘霸 贸府且鳖?
	/*
	DEBUG_CODE( Zone * pEnterZone		= NULL;
	CODETYPE EnterFieldCode = 0;
	eZONE_STATE eRoomState = pPlayer->GetZone( &pEnterZone, EnterFieldCode );
	if( eRoomState & ePRS_AT_ZONE ) 
		return FALSE;);
	*/
	Zone * pPrevZone		= NULL;
	CODETYPE EnterFieldCode = 0;
	eZONE_STATE eRoomState = pPlayer->GetZone( &pPrevZone, EnterFieldCode );
	if( eRoomState & ePRS_AT_ZONE )
	{
		// At LOBBY
		if( !pPrevZone->LeavePlayer( pPlayer ) ) return FALSE;
	}

	pPlayer->SetZone( ePRS_BEFORE_ENTER_VILLAGE, this, FieldCode );

	return TRUE;
}

BOOL Village::joinPlayer( Player * pPlayer, CODETYPE FieldCode )
{
	Zone * pEnterZone		= NULL;
	CODETYPE EnterFieldCode = 0;
	eZONE_STATE eRoomState = pPlayer->GetZone( &pEnterZone, EnterFieldCode );
	if( !(eRoomState & ePRS_BEFORE_ENTER_VILLAGE) ) 
	{
		SASSERT( NULL, "蜡历狼 规惑怕啊 捞惑钦聪促.JoinPlayer() : 甸绢棵妨绰 规捞 付阑捞酒聪促." );
		return FALSE;
	}

	pPlayer->SetZone( ePRS_AT_VILLAGE, this, FieldCode );

	return TRUE;
}

BOOL Village::leavePlayer( Player * pPlayer )
{
	DEBUG_CODE( Zone * pEnterZone		= NULL;
	CODETYPE EnterFieldCode = 0;
	eZONE_STATE eRoomState = pPlayer->GetZone( &pEnterZone, EnterFieldCode );
	if( eRoomState != ePRS_AT_VILLAGE ) 
		return FALSE;);

	pPlayer->SetZone( ePRS_NOT_AT_ZONE, NULL, 0 );

	return TRUE;
}

⌨️ 快捷键说明

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