Use smart pointers for BattleSide.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@@ -5,8 +5,8 @@ bool CreatureLib::Battling::ChoiceQueue::MoveCreatureChoiceNext(CreatureLib::Bat
|
||||
AssertNotNull(creature)
|
||||
// Find which index the creature choice is at.
|
||||
size_t choiceIndex = SIZE_MAX;
|
||||
for (size_t index = _current; index < _queue.Count(); index++) {
|
||||
if (_queue.At(index)->GetUser() == creature) {
|
||||
for (size_t index = _current; index < _queue.size(); index++) {
|
||||
if (_queue[index]->GetUser() == creature) {
|
||||
// If the creature choice is already next up, return.
|
||||
if (index == _current)
|
||||
return false;
|
||||
@@ -17,15 +17,14 @@ bool CreatureLib::Battling::ChoiceQueue::MoveCreatureChoiceNext(CreatureLib::Bat
|
||||
if (choiceIndex == SIZE_MAX)
|
||||
return false;
|
||||
|
||||
auto& vec = _queue.GetStdList();
|
||||
// Save the pointer to the creature choice.
|
||||
auto creatureChoice = _queue[choiceIndex];
|
||||
// Starting at the position before the current creature choice, and iterating backwards up till the current choice.
|
||||
for (size_t i = choiceIndex - 1; i >= _current && i != SIZE_MAX; i--) {
|
||||
// Place everything in one spot later.
|
||||
vec[i + 1] = vec[i];
|
||||
_queue[i + 1] = _queue[i];
|
||||
}
|
||||
// Set the creature choice up next.
|
||||
vec[_current] = creatureChoice.GetRaw();
|
||||
_queue[_current] = creatureChoice;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user