15,440
社区成员
发帖
与我相关
我的任务
分享
void GameMapNPC::getBattleMembers(CharVec& chars,int number)
{
if(number <=0)
{
return;
}
if(!m_BattleNPCMust.empty() && number > 0)
{
CharVec::iterator it = m_BattleNPCMust.begin();
for(;it != m_BattleNPCMust.end() && number > 0;++it,--number)
{
chars.push_back(*it);
}
}
if(!m_BattleNPCRegular.empty() && number > 0)
{
ui16 radNum = 0;
CharVec battleNPCReglar = m_BattleNPCRegular;
while(number > 0 && !battleNPCReglar.empty())
{
radNum = MHFSRandMinMax(0, battleNPCReglar.size());
CharVec::iterator it = battleNPCReglar.begin();
chars.push_back(*(it + radNum));
battleNPCReglar.erase(it + radNum);
--number;
}
}
CharVec::iterator it=chars.begin();
for (;it!=chars.end();++it)
{
(*it)->relive();
}
}