2019-12-15 10:52:10 +00:00
|
|
|
#ifndef CREATURELIB_BATTLERESULT_HPP
|
|
|
|
#define CREATURELIB_BATTLERESULT_HPP
|
|
|
|
|
|
|
|
namespace CreatureLib::Battling {
|
|
|
|
class BattleResult {
|
|
|
|
bool _conclusiveResult;
|
|
|
|
uint8_t _winningSide;
|
|
|
|
|
|
|
|
BattleResult(bool conclusiveResult, uint8_t winningSide)
|
|
|
|
: _conclusiveResult(conclusiveResult), _winningSide(winningSide) {}
|
|
|
|
|
|
|
|
public:
|
|
|
|
static BattleResult Inconclusive() { return BattleResult(false, 0); }
|
|
|
|
static BattleResult Conclusive(uint8_t winner) { return BattleResult(true, winner); }
|
|
|
|
static BattleResult Empty() { return BattleResult(false, 0); }
|
|
|
|
|
|
|
|
/// Whether or not the battle has ended with a conclusive result.
|
2020-03-25 18:07:36 +00:00
|
|
|
bool IsConclusiveResult() const noexcept { return _conclusiveResult; }
|
2019-12-15 10:52:10 +00:00
|
|
|
/// Get the index of the side that has won the battle. Only valid if the battle has a conclusive result.
|
2020-03-25 18:07:36 +00:00
|
|
|
uint8_t GetWinningSide() const noexcept { return _winningSide; }
|
2019-12-15 10:52:10 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // CREATURELIB_BATTLERESULT_HPP
|