mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 06:21:28 +00:00
Use stl algorithms for expedition member searches
This commit is contained in:
parent
780cf148fa
commit
32cc2d66dd
@ -352,52 +352,42 @@ bool Expedition::HasReplayLockout()
|
||||
|
||||
bool Expedition::HasMember(uint32_t character_id)
|
||||
{
|
||||
for (const auto& member : m_members)
|
||||
{
|
||||
if (member.char_id == character_id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return std::any_of(m_members.begin(), m_members.end(), [&](const ExpeditionMember& member) {
|
||||
return member.char_id == character_id;
|
||||
});
|
||||
}
|
||||
|
||||
bool Expedition::HasMember(const std::string& name)
|
||||
bool Expedition::HasMember(const std::string& character_name)
|
||||
{
|
||||
for (const auto& member : m_members)
|
||||
{
|
||||
if (strcasecmp(member.name.c_str(), name.c_str()) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return std::any_of(m_members.begin(), m_members.end(), [&](const ExpeditionMember& member) {
|
||||
return (strcasecmp(member.name.c_str(), character_name.c_str()) == 0);
|
||||
});
|
||||
}
|
||||
|
||||
ExpeditionMember Expedition::GetMemberData(uint32_t character_id)
|
||||
{
|
||||
auto it = std::find_if(m_members.begin(), m_members.end(), [&](const ExpeditionMember& member) {
|
||||
return member.char_id == character_id;
|
||||
});
|
||||
|
||||
ExpeditionMember member_data;
|
||||
for (const auto& member : m_members)
|
||||
if (it != m_members.end())
|
||||
{
|
||||
if (member.char_id == character_id)
|
||||
{
|
||||
member_data = member;
|
||||
break;
|
||||
}
|
||||
member_data = *it;
|
||||
}
|
||||
return member_data;
|
||||
}
|
||||
|
||||
ExpeditionMember Expedition::GetMemberData(const std::string& character_name)
|
||||
{
|
||||
auto it = std::find_if(m_members.begin(), m_members.end(), [&](const ExpeditionMember& member) {
|
||||
return (strcasecmp(member.name.c_str(), character_name.c_str()) == 0);
|
||||
});
|
||||
|
||||
ExpeditionMember member_data;
|
||||
for (const auto& member : m_members)
|
||||
if (it != m_members.end())
|
||||
{
|
||||
if (strcasecmp(member.name.c_str(), character_name.c_str()) == 0)
|
||||
{
|
||||
member_data = member;
|
||||
break;
|
||||
}
|
||||
member_data = *it;
|
||||
}
|
||||
return member_data;
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
const std::vector<ExpeditionMember>& GetMembers() const { return m_members; }
|
||||
|
||||
bool AddMember(const std::string& add_char_name, uint32_t add_char_id);
|
||||
bool HasMember(const std::string& name);
|
||||
bool HasMember(const std::string& character_name);
|
||||
bool HasMember(uint32_t character_id);
|
||||
void RemoveAllMembers(bool enable_removal_timers = true, bool update_dz_expire_time = true);
|
||||
bool RemoveMember(const std::string& remove_char_name);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user