#include "BattleSide.hpp" #include "../../Core/Exceptions/CreatureException.hpp" #include using namespace CreatureLib::Battling; bool BattleSide::AllChoicesSet() const { for (uint8_t i = 0; i < _creaturesPerSide; i++){ if (_choices[i] == nullptr){ return false; } } return true; } void BattleSide::ResetChoices() { for (uint8_t i = 0; i < _creaturesPerSide; i++){ _choices[i] = nullptr; } } const std::vector& BattleSide::GetChoices() const{ return _choices; } void BattleSide::SetChoice(const BaseTurnChoice *choice) { auto find = std::find(_creatures.begin(), _creatures.end(), choice->GetUser()); if (find ==_creatures.end()) throw CreatureException("User not found"); uint8_t index = std::distance(_creatures.begin(),find); _choices[index] = choice; } void BattleSide::SetCreature(Creature *creature, uint8_t index) { _creatures[index] = creature; } bool BattleSide::CreatureOnSide(const Creature *creature) const { return std::find(_creatures.begin(), _creatures.end(), creature) != _creatures.end(); } Creature *BattleSide::GetCreature(uint8_t index) const { return _creatures[index]; }