Add ExpeditionMember::IsValid method

This commit is contained in:
hg 2020-11-02 23:17:22 -05:00
parent 6acfc41778
commit 311042f06d
2 changed files with 9 additions and 7 deletions

View File

@ -567,7 +567,7 @@ void Expedition::RemoveAllMembers(bool enable_removal_timers)
bool Expedition::RemoveMember(const std::string& remove_char_name) bool Expedition::RemoveMember(const std::string& remove_char_name)
{ {
auto member = GetMemberData(remove_char_name); auto member = GetMemberData(remove_char_name);
if (member.char_id == 0 || member.name.empty()) if (!member.IsValid())
{ {
return false; return false;
} }
@ -589,7 +589,7 @@ void Expedition::SwapMember(Client* add_client, const std::string& remove_char_n
} }
auto member = GetMemberData(remove_char_name); auto member = GetMemberData(remove_char_name);
if (member.char_id == 0 || member.name.empty()) if (!member.IsValid())
{ {
return; return;
} }
@ -624,7 +624,7 @@ void Expedition::SetMemberStatus(Client* client, ExpeditionMemberStatus status)
void Expedition::UpdateMemberStatus(uint32_t update_member_id, ExpeditionMemberStatus status) void Expedition::UpdateMemberStatus(uint32_t update_member_id, ExpeditionMemberStatus status)
{ {
auto member_data = GetMemberData(update_member_id); auto member_data = GetMemberData(update_member_id);
if (member_data.char_id == 0 || member_data.name.empty()) if (!member_data.IsValid())
{ {
return; return;
} }
@ -886,7 +886,7 @@ bool Expedition::ConfirmLeaderCommand(Client* requester)
return false; return false;
} }
if (m_leader.char_id == 0) if (!m_leader.IsValid())
{ {
requester->MessageString(Chat::Red, UNABLE_RETRIEVE_LEADER); // unconfirmed message requester->MessageString(Chat::Red, UNABLE_RETRIEVE_LEADER); // unconfirmed message
return false; return false;
@ -958,7 +958,7 @@ void Expedition::DzAddPlayer(
else else
{ {
auto member_data = GetMemberData(add_char_name); auto member_data = GetMemberData(add_char_name);
if (member_data.char_id != 0) if (member_data.IsValid())
{ {
// live prioritizes offline message before already a member message // live prioritizes offline message before already a member message
if (member_data.status == ExpeditionMemberStatus::Offline) if (member_data.status == ExpeditionMemberStatus::Offline)
@ -1020,7 +1020,7 @@ void Expedition::DzMakeLeader(Client* requester, std::string new_leader_name)
} }
auto new_leader_data = GetMemberData(new_leader_name); auto new_leader_data = GetMemberData(new_leader_name);
if (new_leader_data.char_id == 0) if (!new_leader_data.IsValid())
{ {
requester->MessageString(Chat::Red, EXPEDITION_NOT_MEMBER, new_leader_name.c_str()); requester->MessageString(Chat::Red, EXPEDITION_NOT_MEMBER, new_leader_name.c_str());
return; return;
@ -1133,7 +1133,7 @@ void Expedition::SetLocked(
void Expedition::ProcessLeaderChanged(uint32_t new_leader_id) void Expedition::ProcessLeaderChanged(uint32_t new_leader_id)
{ {
auto new_leader = GetMemberData(new_leader_id); auto new_leader = GetMemberData(new_leader_id);
if (new_leader.char_id == 0) if (!new_leader.IsValid())
{ {
LogExpeditions("Processed invalid new leader id [{}] for expedition [{}]", new_leader_id, m_id); LogExpeditions("Processed invalid new leader id [{}] for expedition [{}]", new_leader_id, m_id);
return; return;

View File

@ -68,6 +68,8 @@ struct ExpeditionMember
: char_id(char_id_), name(name_) {} : char_id(char_id_), name(name_) {}
ExpeditionMember(uint32_t char_id_, const std::string& name_, ExpeditionMemberStatus status_) ExpeditionMember(uint32_t char_id_, const std::string& name_, ExpeditionMemberStatus status_)
: char_id(char_id_), name(name_), status(status_) {} : char_id(char_id_), name(name_), status(status_) {}
bool IsValid() const { return char_id != 0 && !name.empty(); }
}; };
class Expedition class Expedition