Fixes invalid pointers to a battle dangling when a battle is removed.
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
2020-12-28 13:40:39 +01:00
parent 69476b6f9d
commit a284641b5a
7 changed files with 26 additions and 11 deletions

View File

@@ -116,6 +116,18 @@ namespace CreatureLib::Battling {
const HistoryHolder& GetHistory() const noexcept { return _historyHolder; }
long GetLastTurnTimeMicroseconds() const noexcept { return _lastTurnTime; }
void EndBattle() {
this->_hasEnded = true;
for (size_t i = 0; i < _numberOfSides; i++) {
auto side = _sides[i];
for (auto c : side->GetCreatures()) {
if (c.HasValue()) {
c.GetValue()->ClearBattleData();
}
}
}
}
};
}