亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? channel.cpp

?? 奇跡世界 部分源代碼奇跡世界 部分源代碼奇跡世界 部分源代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
Zone* Channel::FindMissionZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapMissionZones.find( dwZoneKey );
	if( it != m_mapMissionZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindHuntingZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapHuntingZones.find( dwZoneKey );
	if( it != m_mapHuntingZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindQuestZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapQuestZones.find( dwZoneKey );
	if( it != m_mapQuestZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindPVPZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapPVPZones.find( dwZoneKey );
	if( it != m_mapPVPZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindEventZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapEventZones.find( dwZoneKey );
	if( it != m_mapEventZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindGuildZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapGuildZones.find( dwZoneKey );
	if( it != m_mapGuildZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindSiegeZone( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapSiegeZones.find( dwZoneKey );
	if( it != m_mapSiegeZones.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

Zone* Channel::FindFriendChat( DWORD dwZoneKey )
{
	ZONE_MAP_ITER it = m_mapFriendChat.find( dwZoneKey );
	if( it != m_mapFriendChat.end() )
	{
		return it->second;
	}
	else
	{
		return NULL;
	}
}

// 盲澄俊 貿瀾欄肺 蠟廉甫 眠啊茄促.
// 某腐磐糾俊 眠啊且 錠綽 糧虐 公矯
VOID Channel::AddUser( User *pUser, eZONETYPE userStatus, DWORD dwZoneKey )
{
//	pUser->SetStatus( userStatus );

	switch( userStatus )
	{
	case eZONETYPE_CHARSELECT:
		UserEnterCharScene( pUser );
		break;
	case eZONETYPE_VILLAGE:
		UserEnterVillage( pUser, dwZoneKey );
		break;
	case eZONETYPE_LOBBY:
		UserEnterLobby( pUser, dwZoneKey );
		break;
	case eZONETYPE_MISSION:
		UserEnterMissionZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_HUNTING:
		UserEnterHuntingZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_QUEST:
		UserEnterQuestZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_PVP:
		UserEnterPVPZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_EVENT:
		UserEnterEventZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_GUILD:
		UserEnterGuildZone( pUser, dwZoneKey );
		break;
	case eZONETYPE_SIEGE:
		UserEnterSiegeZone( pUser, dwZoneKey );
		break;
	default:
#ifdef _DEBUG
		assert( !"AddUser - invalid user status" );
#else
		MessageOut( eCRITICAL_LOG, "[Guid:%u] Channel::AddUser Error - No ZoneType[%u][ZK:%u]", userStatus, dwZoneKey );
		// 酪絹滾啡欄聰 讒絹滾妨!!!
		pUser->Logout();
		return;
#endif
		break;
	}

	// 盲澄 蠟廉 府膠飄俊檔 眠啊
	m_mapUsers.insert( USER_MAP_PAIR( pUser->GetGUID(), pUser ) );

	// 傈眉 蠟廉 府膠飄俊檔 眠啊
	UserManager::Instance()->AddUser( pUser->GetGUID(), pUser );

	MessageOut( eFULL_LOG,   "盲澄(%d) 蠟廉 眠啊! [Guid:%u][CharName:%s][Status:%u]",
		GetChannelID(), pUser->GetGUID(), pUser->GetCharName().c_str(), userStatus );
}

// 盲澄闌 肯傈灑 狐廉唱哎 錠 齲免
VOID Channel::RemoveUser( User *pUser )
{
	MessageOut( eFULL_LOG,   "盲澄(%d) 蠟廉 力芭  [Guid:%u][CharName:%s][Status:%u]",
		GetChannelID(), pUser->GetGUID(), pUser->GetCharName().c_str(), pUser->GetStatus() );

	if( pUser->GetStatus() >= eZONETYPE_LOBBY && pUser->GetStatus() < eZONETYPE_MAX )
	{
		// 盲澄俊輯 泅犁 困摹茄 府膠飄俊輯 力芭
		UserLeavePrevZone( pUser );
	}

	// 轟器飄俊輯檔 力芭
//	ViewPortManager::Instance()->RemoveUser( pUser );
	m_pViewPortManager->RemoveUser( pUser );

	// 盲澄 蠟廉 府膠飄俊輯檔 力芭
	USER_MAP_ITER it = m_mapUsers.find( pUser->GetGUID() );
	if( it != m_mapUsers.end() )
	{
		m_mapUsers.erase( it );
	}

	// 傈眉 蠟廉 府膠飄俊輯檔 力芭
	UserManager::Instance()->RemoveUser( pUser->GetGUID() );
}

BOOL Channel::AddViewPortUser( User *pUser, DWORD dwField, DWORD dwSector )
{
	return m_pViewPortManager->AddUser( pUser, dwField, dwSector );
}

BOOL Channel::MoveViewPortUser( User *pUser, DWORD dwField, DWORD dwSector )
{
	return m_pViewPortManager->MoveUser( pUser, dwField, dwSector );
}

VOID Channel::RemoveViewPortUser( User *pUser )
{
	m_pViewPortManager->RemoveUser( pUser );
}

VOID Channel::UserLeavePrevZone( User *pUser )
{
	MessageOut( eMIDDLE_LOG, "UserLeaveZone[ZoneType:%u][Key:%u][Guid:%u][CharGuid:%u]", pUser->GetStatus(), 
																						pUser->GetZoneKey(), 
																						pUser->GetGUID(), 
																						pUser->GetCharGuid() );

	switch( pUser->GetStatus() )
	{
	case eZONETYPE_CHARSELECT:
		{
			m_pCharSceneZone->RemoveUser( pUser->GetGUID() );
		}
		break;
	case eZONETYPE_VILLAGE:
		{
			Zone *pZone = FindVillage( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecVillageUserNum();
				}
				// 后 付闌撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveVillage( pZone->GetKey() );
				}
			}
//			ViewPortManager::Instance()->RemoveUser( pUser );	// 轟器飄俊輯 昏力
			m_pViewPortManager->RemoveUser( pUser );
		}
		break;
	case eZONETYPE_LOBBY:
		{
			Zone *pZone = FindLobby( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecLobbyUserNum();
				}
				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveLobby( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_MISSION:
		{
			Zone *pZone = FindMissionZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecMissionUserNum();
				}
				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveMissionZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_HUNTING:
		{
			Zone *pZone = FindHuntingZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecHuntingUserNum();
				}
				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveHuntingZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_QUEST:
		{
			Zone *pZone = FindQuestZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecQuestUserNum();
				}

				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveQuestZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_PVP:
		{
			Zone *pZone = FindPVPZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecPVPUserNum();
				}

				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemovePVPZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_EVENT:
		{
			Zone *pZone = FindEventZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecEventUserNum();
				}

				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveEventZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_GUILD:
		{
			Zone *pZone = FindGuildZone( pUser->GetZoneKey() );
			if( pZone )
			{
                if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecGuildUserNum();
				}

				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveGuildZone( pZone->GetKey() );
				}
			}
		}
		break;
	case eZONETYPE_SIEGE:
		{
			Zone *pZone = FindSiegeZone( pUser->GetZoneKey() );
			if( pZone )
			{
				if( pZone->RemoveUser( pUser->GetGUID() ) )
				{
					DecSiegeUserNum();
				}
				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveSiegeZone( pZone->GetKey() );
				}
			}
		}
		break;
	default:	// 老竄 某腐磐 急琶/付闌 酒聰擱 傈何 硅撇糧欄肺 秒鞭茄促
		{
			MessageOut( eFULL_LOG, "[%u][ZK:%u] UserLeavePrevZone Error - 吝汗 昏力", pUser->GetGUID(), pUser->GetZoneKey() );
			return;
		}
		break;
//		assert( !"UserLeavePrevZone - invalid user status" );
/*
		{
			Zone *pZone = FindBattleZone( pUser->GetZoneKey() );
			if( pZone )
			{
				pZone->RemoveUser( pUser->GetGUID() );
				// 后 硅撇糧撈擱 昏力
				if( pZone->GetNumberOfUsers() == 0 )
				{
					RemoveBattleZone( pZone->GetKey() );
				}
			}
		}
*/
		break;
	}
}

VOID Channel::UserEnterCharScene( User *pUser )
{
	if( pUser->GetStatus() >= eZONETYPE_LOBBY && pUser->GetStatus() < eZONETYPE_MAX )
	{
		MessageOut( eCRITICAL_LOG, "User Leave 絕撈 CharSceneEnter Error[%s][Guid:%u][CharGuid:%u]", pUser->GetCharName().c_str(), 
																							pUser->GetGUID(), 
																							pUser->GetCharGuid() );
		UserLeavePrevZone( pUser );	// 趣矯扼檔 巢籃 惑怕老 薦 樂欄聰 昏力
	}

	pUser->SetStatus( eZONETYPE_CHARSELECT );

	m_pCharSceneZone->AddUser( pUser->GetGUID(), pUser );
	MessageOut( eFULL_LOG, "UserEnterCharScene(%s:%u)", pUser->GetCharName().c_str(), pUser->GetGUID() );
}

VOID Channel::UserEnterVillage( User *pUser, DWORD dwZoneKey )
{
	if( pUser->GetStatus() >= eZONETYPE_LOBBY && pUser->GetStatus() < eZONETYPE_MAX )
	{
		MessageOut( eCRITICAL_LOG, "User Leave 絕撈 VillageEnter Error[%s][Guid:%u][CharGuid:%u]", pUser->GetCharName().c_str(), 
																							pUser->GetGUID(), 
																							pUser->GetCharGuid() );
		UserLeavePrevZone( pUser );	// 趣矯扼檔 巢籃 惑怕老 薦 樂欄聰 昏力
	}

	pUser->SetStatus( eZONETYPE_VILLAGE );

	// 秦寸 虐肺 付闌闌 茫酒焊絆 絕欄擱 付闌 眠啊 饒 蠟廉 眠啊
	Zone *pZone = FindVillage( dwZoneKey );
	if( !pZone )
	{
		pZone = AddVillage( dwZoneKey );
	}

	if( pZone->AddUser( pUser->GetGUID(), pUser ) )
	{
		IncVillageUserNum();
	}

	MessageOut( eMIDDLE_LOG, "UserEnterVillage[Guid:%u][CharGuid:%u][ZK:%u]", pUser->GetGUID(), pUser->GetCharGuid(), dwZoneKey );
}

/*
VOID Channel::UserEnterBattleZone( User *pUser, DWORD dwZoneKey )
{
	UserLeavePrevZone( pUser );	// 趣矯扼檔 巢籃 惑怕老 薦 樂欄聰 昏力

	pUser->SetStatus( eZONETYPE_LOBBY );

	// 秦寸 虐肺 硅撇糧闌 茫酒焊絆 絕欄擱 硅撇糧 眠啊 饒 蠟廉 眠啊
	Zone *pZone = FindBattleZone( dwZoneKey );
	if( !pZone )
	{
		pZone = AddBattleZone( dwZoneKey );
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看视频| 日韩免费看网站| 亚洲婷婷在线视频| 91亚洲精品久久久蜜桃| 综合自拍亚洲综合图不卡区| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲日产国码二区| 一本色道久久综合狠狠躁的推荐| 亚洲国产成人va在线观看天堂| 欧美视频中文字幕| 毛片av中文字幕一区二区| 欧美va在线播放| 成人福利视频网站| 一区二区三区**美女毛片| 在线日韩一区二区| 蜜桃精品在线观看| 国产精品久线观看视频| 91麻豆国产福利精品| 午夜视黄欧洲亚洲| 国产无人区一区二区三区| 色综合天天综合色综合av| 亚洲一区二区三区中文字幕| 91精品国产欧美一区二区 | 亚洲美女少妇撒尿| 欧美精品第一页| 狠狠色狠狠色合久久伊人| 国产午夜精品一区二区| 欧美手机在线视频| 国产精品自拍毛片| 亚洲午夜免费福利视频| 欧美电影免费观看高清完整版在线观看 | 色一区在线观看| 奇米综合一区二区三区精品视频 | 欧美疯狂性受xxxxx喷水图片| 久久精品二区亚洲w码| 国产精品国产三级国产aⅴ中文 | 精品国偷自产国产一区| 91亚洲大成网污www| 美女精品自拍一二三四| 亚洲日本在线a| 精品久久免费看| 欧美性色综合网| 成人晚上爱看视频| 日韩福利电影在线| 亚洲精品欧美综合四区| 久久影音资源网| 欧美日韩不卡一区二区| caoporm超碰国产精品| 久久99久久精品| 亚洲狠狠爱一区二区三区| 中文字幕乱码一区二区免费| 91精品国产免费| 色噜噜狠狠成人网p站| 国产成人精品一区二区三区网站观看| 亚洲va国产天堂va久久en| 国产精品免费视频一区| 精品国产网站在线观看| 正在播放亚洲一区| 91成人在线精品| 91同城在线观看| 国产成人午夜精品5599| 久久成人免费网站| 美日韩一区二区| 青青草原综合久久大伊人精品优势 | 蜜桃av噜噜一区二区三区小说| 亚洲日本在线看| 自拍av一区二区三区| 国产嫩草影院久久久久| 久久影院视频免费| 久久久国际精品| 精品粉嫩aⅴ一区二区三区四区| 欧美电影一区二区三区| 欧美视频三区在线播放| 在线视频综合导航| 在线观看视频一区二区欧美日韩| 99久久精品国产精品久久| 丁香婷婷综合五月| 国产一区二区不卡老阿姨| 老司机精品视频导航| 久久国产欧美日韩精品| 久久精品国内一区二区三区| 免费在线看成人av| 久久精品国产亚洲高清剧情介绍 | 欧美性一二三区| 欧美群妇大交群中文字幕| 欧美日韩国产色站一区二区三区| 欧美日韩亚洲国产综合| 欧美高清视频在线高清观看mv色露露十八| 欧美影视一区在线| 欧美美女直播网站| 日韩三级视频中文字幕| www国产成人| 国产精品无人区| 17c精品麻豆一区二区免费| 亚洲精品中文在线影院| 亚洲一区影音先锋| 日韩av二区在线播放| 国产精品69久久久久水密桃| 成人美女在线视频| 在线观看免费一区| 日韩一区二区在线观看视频 | av午夜一区麻豆| 一本色道亚洲精品aⅴ| 欧美在线观看视频一区二区| 884aa四虎影成人精品一区| 欧美videos中文字幕| 中文字幕在线观看一区| 一区二区三区日本| 毛片不卡一区二区| 成人a区在线观看| 欧美日韩日本视频| 久久精品无码一区二区三区| 国产精品妹子av| 午夜不卡av在线| 国产高清精品网站| 在线观看国产91| 久久精品欧美一区二区三区不卡| 亚洲人成精品久久久久| 毛片不卡一区二区| 在线亚洲精品福利网址导航| 精品国产一二三区| 一区二区三区四区视频精品免费 | 视频在线在亚洲| 国产成人av电影在线观看| 欧美在线影院一区二区| 久久综合色一综合色88| 亚洲一区视频在线观看视频| 国产99精品视频| 91精品欧美一区二区三区综合在| 国产精品久久久久久久久图文区| 日韩av在线发布| 91久久久免费一区二区| 久久精品人人做| 美日韩一区二区三区| 欧美色图激情小说| 国产精品久久久久一区二区三区| 日本欧美韩国一区三区| 色婷婷综合久色| 国产色综合久久| 男女激情视频一区| 欧美日韩综合在线免费观看| 欧美激情中文不卡| 五月激情六月综合| 91麻豆高清视频| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲 欧美综合在线网络| 高清国产午夜精品久久久久久| 欧美福利视频导航| 亚洲午夜激情网页| 成人午夜视频网站| 国产欧美一区二区精品性色超碰 | 2023国产精华国产精品| 亚洲第一福利视频在线| 不卡av在线网| 中文字幕av不卡| 国产成人免费视频网站 | 91免费视频网| 欧美精品一区二区三区久久久 | 精品视频色一区| 国产精品白丝在线| 精品一区二区精品| 欧美一区二区精美| 天堂va蜜桃一区二区三区漫画版| 在线免费一区三区| 日韩一区有码在线| 成人午夜看片网址| 国产精品欧美精品| 成人教育av在线| 欧美国产成人在线| 成人国产精品免费网站| 国产精品美女久久福利网站| 国产99精品视频| 亚洲欧美福利一区二区| 粉嫩久久99精品久久久久久夜 | 成人在线一区二区三区| 久久香蕉国产线看观看99| 久久不见久久见中文字幕免费| 日韩欧美在线1卡| 精品一区二区在线观看| 精品久久久久久久久久久久久久久| 免费成人性网站| 日韩免费电影一区| 国产美女主播视频一区| 久久精品欧美一区二区三区不卡| 国产91精品一区二区麻豆网站| 国产日韩欧美不卡在线| 99久久免费国产| 一区二区久久久久| 日韩午夜在线播放| 国产aⅴ综合色| 一区二区三区高清| 日韩一区二区三区av| 国产激情视频一区二区三区欧美| 中文久久乱码一区二区| 色婷婷亚洲一区二区三区| 日韩精品电影在线观看| 国产午夜精品久久久久久久| 一本到高清视频免费精品| 一区二区三区在线视频免费| 99re6这里只有精品视频在线观看|