Files
PkmnLib/src/Library/Species/LearnableMoves.hpp
Deukhoofd fff926b617
All checks were successful
continuous-integration/drone/push Build is passing
Mark several classes as final for devirtualization performance benefits.
2020-10-15 18:13:00 +02:00

24 lines
807 B
C++

#ifndef PKMNLIB_LEARNABLEMOVES_HPP
#define PKMNLIB_LEARNABLEMOVES_HPP
#include <CreatureLib/Library/CreatureData/LearnableAttacks.hpp>
#include "../Moves/MoveData.hpp"
namespace PkmnLib::Library {
class LearnableMoves final : public CreatureLib::Library::LearnableAttacks {
ArbUt::List<ArbUt::BorrowedPtr<const MoveData>> _eggMoves;
public:
explicit LearnableMoves(level_int_t levelAttackCapacity) : LearnableAttacks(levelAttackCapacity) {}
void AddEggMove(const ArbUt::BorrowedPtr<const MoveData>& move) noexcept {
if (!_eggMoves.Contains(move))
_eggMoves.Append(move);
}
const ArbUt::List<ArbUt::BorrowedPtr<const MoveData>>& GetEggMoves() const noexcept { return _eggMoves; }
};
}
#endif // PKMNLIB_LEARNABLEMOVES_HPP