Added layout for CreatureParty
This commit is contained in:
1
src/Battling/Models/CreatureParty.cpp
Normal file
1
src/Battling/Models/CreatureParty.cpp
Normal file
@@ -0,0 +1 @@
|
||||
#include "CreatureParty.hpp"
|
||||
38
src/Battling/Models/CreatureParty.hpp
Normal file
38
src/Battling/Models/CreatureParty.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef CREATURELIB_CREATUREPARTY_HPP
|
||||
#define CREATURELIB_CREATUREPARTY_HPP
|
||||
|
||||
#include <array>
|
||||
#include "Creature.hpp"
|
||||
|
||||
namespace CreatureLib::Battling{
|
||||
template <int max>
|
||||
class CreatureParty {
|
||||
std::array<Creature*, max> _party;
|
||||
|
||||
public:
|
||||
CreatureParty(std::array<Creature*, max> party) : _party(party){
|
||||
}
|
||||
|
||||
Creature* GetAtIndex(int index) const{
|
||||
return _party[index];
|
||||
}
|
||||
|
||||
void Switch(int a, int b){
|
||||
auto ca = _party[a];
|
||||
_party[a] = _party[b];
|
||||
_party[b] = ca;
|
||||
}
|
||||
|
||||
bool HasAvailableCreatures() const{
|
||||
for (Creature* c: _party){
|
||||
if (c == nullptr) continue;
|
||||
if (c->IsFainted()) continue;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //CREATURELIB_CREATUREPARTY_HPP
|
||||
Reference in New Issue
Block a user