本文整理汇总了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);
}