本文整理汇总了C++中InvitePlayerToWar函数的典型用法代码示例。如果您正苦于以下问题:C++ InvitePlayerToWar函数的具体用法?C++ InvitePlayerToWar怎么用?C++ InvitePlayerToWar使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了InvitePlayerToWar函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InvitePlayerToWar
// Called when a player enters the zone
void Battlefield::HandlePlayerEnterZone(Player* player, uint32 /*zone*/)
{
// If battle is started,
// If not full of players > invite player to join the war
// If full of players > announce to player that BF is full and kick him after a few second if he desn't leave
if (IsWarTime())
{
if (m_PlayersInWar[player->GetTeamId()].size() + m_InvitedPlayers[player->GetTeamId()].size() < m_MaxPlayer) // Vacant spaces
InvitePlayerToWar(player);
else // No more vacant places
{
/// @todo Send a packet to announce it to player
m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
InvitePlayerToQueue(player);
}
}
else
{
// If time left is < 15 minutes invite player to join queue
if (m_Timer <= m_StartGroupingTimer)
InvitePlayerToQueue(player);
}
// Add player in the list of player in zone
m_players[player->GetTeamId()].insert(player->GetGUID());
OnPlayerEnterZone(player);
}
示例2: InvitePlayerToWar
void Battlefield::HandlePlayerEnterZone(Player* player, uint32 /*zone*/)
{
// If battle is start,
// if it not fully > invite player to join the war
// if it fully > announce to player that BF is full and kick after few second if he dont leave
if (IsWarTime())
{
if (m_PlayersInWar[player->GetTeamId()].size() + m_InvitedPlayers[player->GetTeamId()].size() < m_MaxPlayer) //Not fully
InvitePlayerToWar(player);
else //Full
{
//TODO:Send packet for announce it to player
m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
InvitePlayerToQueue(player);
}
}
else
{
//If time left is <15 minutes invite player to join queue
if (m_Timer <= m_StartGroupingTimer)
InvitePlayerToQueue(player);
}
//Add player in list of player in zone
m_players[player->GetTeamId()].insert(player->GetGUID());
OnPlayerEnterZone(player); //for scripting
}
示例3: InvitePlayerToWar
void Battlefield::InvitePlayersInQueueToWar()
{
BattlefieldQueue* queue = sBattlefieldMgr->GetQueueForBattlefield(m_Guid);
BattlefieldQueue::PlayerQueue::iterator itr;
if(queue->getAllianceQueue()->size() > 0)
{
for(itr = queue->getAllianceQueue()->begin(); itr != queue->getAllianceQueue()->end();++itr)
{
InvitePlayerToWar(*itr);
}
}
if(queue->getHordeQueue()->size() > 0)
{
for(itr = queue->getHordeQueue()->begin(); itr != queue->getHordeQueue()->end();++itr)
{
InvitePlayerToWar(*itr);
}
}
queue->getAllianceQueue()->clear();
queue->getHordeQueue()->clear();
}