Rework for C Interfaces to handle exceptions a bit better.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-03-25 19:07:36 +01:00
parent 27288563cd
commit 7ce3e6940d
53 changed files with 7526 additions and 8340 deletions

View File

@@ -9,25 +9,25 @@ namespace CreatureLib::Battling {
Arbutils::Collections::List<Creature*> _party;
public:
CreatureParty(size_t size) : _party(size) {}
CreatureParty(Arbutils::Collections::List<Creature*> party) : _party(party) {}
CreatureParty(std::initializer_list<Creature*> party) : _party(party) {}
CreatureParty(size_t size) noexcept : _party(size) {}
CreatureParty(Arbutils::Collections::List<Creature*> party) noexcept : _party(party) {}
CreatureParty(std::initializer_list<Creature*> party) noexcept : _party(party) {}
virtual ~CreatureParty() {
virtual ~CreatureParty() noexcept {
for (auto c : _party) {
delete c;
}
}
Creature* GetAtIndex(size_t index) const { return _party[index]; }
Creature* GetAtIndex(size_t index) const noexcept { return _party[index]; }
void Switch(size_t a, size_t b) {
void Switch(size_t a, size_t b) noexcept {
auto ca = _party[a];
_party[a] = _party[b];
_party[b] = ca;
}
bool HasAvailableCreatures() const {
bool HasAvailableCreatures() const noexcept {
for (Creature* c : _party) {
if (c == nullptr)
continue;
@@ -38,10 +38,10 @@ namespace CreatureLib::Battling {
return false;
}
Arbutils::Collections::List<Creature*>& GetParty() { return _party; }
const Arbutils::Collections::List<Creature*>& GetParty() const { return _party; }
Arbutils::Collections::List<Creature*>& GetParty() noexcept { return _party; }
const Arbutils::Collections::List<Creature*>& GetParty() const noexcept { return _party; }
size_t GetLength() const { return _party.Count(); }
size_t GetLength() const noexcept { return _party.Count(); }
};
}