Merge pull request #253 from lioncash/const4

CRelayTracker: Make HasRelay() a const member function
This commit is contained in:
Luke Street 2020-03-18 01:09:31 -04:00 committed by GitHub
commit 9e05819f05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 7 deletions

View File

@ -23,17 +23,23 @@ CRelayTracker::CRelayTracker(CBitStreamReader& in, const CSaveWorld& saveworld)
} }
} }
bool CRelayTracker::HasRelay(TEditorId id) { bool CRelayTracker::HasRelay(TEditorId id) const {
return std::find(x0_relayStates.begin(), x0_relayStates.end(), id) != x0_relayStates.end(); return std::find(x0_relayStates.cbegin(), x0_relayStates.cend(), id) != x0_relayStates.cend();
} }
void CRelayTracker::AddRelay(TEditorId id) { void CRelayTracker::AddRelay(TEditorId id) {
if (std::find(x0_relayStates.begin(), x0_relayStates.end(), id) == x0_relayStates.end()) if (HasRelay(id)) {
return;
}
x0_relayStates.push_back(id); x0_relayStates.push_back(id);
} }
void CRelayTracker::RemoveRelay(TEditorId id) { void CRelayTracker::RemoveRelay(TEditorId id) {
if (std::find(x0_relayStates.begin(), x0_relayStates.end(), id) != x0_relayStates.end()) if (!HasRelay(id)) {
return;
}
x0_relayStates.erase(std::remove(x0_relayStates.begin(), x0_relayStates.end(), id), x0_relayStates.end()); x0_relayStates.erase(std::remove(x0_relayStates.begin(), x0_relayStates.end(), id), x0_relayStates.end());
} }

View File

@ -31,7 +31,7 @@ public:
CRelayTracker() = default; CRelayTracker() = default;
CRelayTracker(CBitStreamReader&, const CSaveWorld&); CRelayTracker(CBitStreamReader&, const CSaveWorld&);
bool HasRelay(TEditorId); bool HasRelay(TEditorId) const;
void AddRelay(TEditorId); void AddRelay(TEditorId);
void RemoveRelay(TEditorId); void RemoveRelay(TEditorId);
void SendMsgs(TAreaId, CStateManager&); void SendMsgs(TAreaId, CStateManager&);