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


C++ InvitePlayerToWar函数代码示例

本文整理汇总了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);
}
开发者ID:Regigicas,项目名称:TrinityCore434,代码行数:28,代码来源:Battlefield.cpp

示例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
}
开发者ID:AtVirus,项目名称:SkyFireEMU,代码行数:27,代码来源:Battlefield.cpp

示例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();
}
开发者ID:redlaine,项目名称:InfinityCore-Ark,代码行数:24,代码来源:Battlefield.cpp


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