当前位置: 首页>>代码示例>>C++>>正文


C++ Vehicle::GetMaxSeat方法代码示例

本文整理汇总了C++中Vehicle::GetMaxSeat方法的典型用法代码示例。如果您正苦于以下问题:C++ Vehicle::GetMaxSeat方法的具体用法?C++ Vehicle::GetMaxSeat怎么用?C++ Vehicle::GetMaxSeat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Vehicle的用法示例。


在下文中一共展示了Vehicle::GetMaxSeat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleSpellClick

/* This function handles the packet from the client which is
sent when we click on an npc with the flag UNIT_FLAG_SPELLCLICK
and checks if there is room for us then adds us as a passenger
to that vehicle*/
void WorldSession::HandleSpellClick( WorldPacket & recv_data )
{
	if (GetPlayer() == NULL || GetPlayer()->m_CurrentVehicle)
		return;

	CHECK_PACKET_SIZE(recv_data, 8);

	uint64 guid;
	recv_data >> guid;

	Vehicle* pVehicle = NULL;
	Unit* unit = GetPlayer()->GetMapMgr()->GetUnit(guid);
	Unit* pPlayer = TO_UNIT(GetPlayer());

	if(!unit)
		return;

	if(!unit->IsVehicle())
	{
		if(unit->IsCreature())
		{
			Creature* ctr = TO_CREATURE(unit);
			if(ctr->GetProto()->SpellClickid)
				ctr->CastSpell(pPlayer, ctr->GetProto()->SpellClickid, true);
			else
				OUT_DEBUG("[SPELL][CLICK]: Unknown spell click spell on creature %u", ctr->GetEntry());
		}
		return;
	}
	else
	{
		pVehicle = TO_VEHICLE(unit);
	}

	if(!pVehicle->GetMaxPassengerCount())
		return;

	if(!pVehicle->GetMaxSeat())
		return;

	// just in case.
	if( sEventMgr.HasEvent( pVehicle, EVENT_VEHICLE_SAFE_DELETE ) )
		return;

	if(pVehicle->HasPassenger(pPlayer))
		pVehicle->RemovePassenger(pPlayer);

	pVehicle->AddPassenger(pPlayer);
}
开发者ID:,项目名称:,代码行数:53,代码来源:


注:本文中的Vehicle::GetMaxSeat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。