mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 09:31:30 +00:00
Copy instead of moving expedition request data
This commit is contained in:
parent
59d10a9db3
commit
6165550133
@ -299,13 +299,13 @@ bool Expedition::CacheAllFromDatabase()
|
|||||||
|
|
||||||
void Expedition::SaveLockouts(ExpeditionRequest& request)
|
void Expedition::SaveLockouts(ExpeditionRequest& request)
|
||||||
{
|
{
|
||||||
m_lockouts = std::move(request).TakeLockouts();
|
m_lockouts = request.GetLockouts();
|
||||||
ExpeditionDatabase::InsertLockouts(m_id, m_lockouts);
|
ExpeditionDatabase::InsertLockouts(m_id, m_lockouts);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Expedition::SaveMembers(ExpeditionRequest& request)
|
void Expedition::SaveMembers(ExpeditionRequest& request)
|
||||||
{
|
{
|
||||||
m_members = std::move(request).TakeMembers();
|
m_members = request.GetMembers();
|
||||||
for (const auto& member : m_members)
|
for (const auto& member : m_members)
|
||||||
{
|
{
|
||||||
m_member_id_history.emplace(member.char_id);
|
m_member_id_history.emplace(member.char_id);
|
||||||
@ -1047,8 +1047,7 @@ void Expedition::DzSwapPlayer(
|
|||||||
|
|
||||||
if (remove_char_name.empty() || !HasMember(remove_char_name))
|
if (remove_char_name.empty() || !HasMember(remove_char_name))
|
||||||
{
|
{
|
||||||
remove_char_name = FormatName(remove_char_name);
|
requester->MessageString(Chat::Red, DZSWAP_CANNOT_REMOVE, FormatName(remove_char_name).c_str());
|
||||||
requester->MessageString(Chat::Red, DZSWAP_CANNOT_REMOVE, remove_char_name.c_str());
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1180,7 +1179,6 @@ void Expedition::ProcessMemberRemoved(std::string removed_char_name, uint32_t re
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache a re-usable packet for each member
|
|
||||||
auto outapp_member_name = CreateMemberListNamePacket(removed_char_name, true);
|
auto outapp_member_name = CreateMemberListNamePacket(removed_char_name, true);
|
||||||
|
|
||||||
for (auto it = m_members.begin(); it != m_members.end();)
|
for (auto it = m_members.begin(); it != m_members.end();)
|
||||||
@ -1212,8 +1210,8 @@ void Expedition::ProcessMemberRemoved(std::string removed_char_name, uint32_t re
|
|||||||
}
|
}
|
||||||
|
|
||||||
LogExpeditionsDetail(
|
LogExpeditionsDetail(
|
||||||
"Processed member [{}] ({}) removal, current zone cache member count: [{}]",
|
"Processed member [{}] ({}) removal from [{}], cache member count: [{}]",
|
||||||
removed_char_name, removed_char_id, m_members.size()
|
removed_char_name, removed_char_id, m_id, m_members.size()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -50,8 +50,8 @@ public:
|
|||||||
uint32_t GetMinPlayers() const { return m_min_players; }
|
uint32_t GetMinPlayers() const { return m_min_players; }
|
||||||
uint32_t GetMaxPlayers() const { return m_max_players; }
|
uint32_t GetMaxPlayers() const { return m_max_players; }
|
||||||
bool HasReplayTimer() const { return m_has_replay_timer; }
|
bool HasReplayTimer() const { return m_has_replay_timer; }
|
||||||
std::vector<ExpeditionMember> TakeMembers() && { return std::move(m_members); }
|
std::vector<ExpeditionMember> GetMembers() const { return m_members; }
|
||||||
std::unordered_map<std::string, ExpeditionLockoutTimer> TakeLockouts() && { return std::move(m_lockouts); }
|
std::unordered_map<std::string, ExpeditionLockoutTimer> GetLockouts() const { return m_lockouts; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool ValidateMembers(const std::vector<std::string>& member_names);
|
bool ValidateMembers(const std::vector<std::string>& member_names);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user