#ifndef PKMNLIB_MOVELIBRARY_HPP #define PKMNLIB_MOVELIBRARY_HPP #include #include "MoveData.hpp" namespace PkmnLib::Library { class MoveLibrary : public CreatureLib::Library::AttackLibrary { public: MoveLibrary(size_t initialCapacity = 32) : CreatureLib::Library::AttackLibrary(initialCapacity) {} virtual const MoveData* operator[](const std::string& name) const { return GetAttack(name); } const MoveData* GetMove(const std::string& name) const { return GetAttack(name); } const MoveData* GetAttack(const std::string& name) const { return reinterpret_cast(CreatureLib::Library::AttackLibrary::GetAttack(name)); } void LoadAttack(const std::string& name, const MoveData* attack) { CreatureLib::Library::AttackLibrary::LoadAttack(name, attack); } void LoadMove(const std::string& name, const MoveData* attack) { CreatureLib::Library::AttackLibrary::LoadAttack(name, attack); } }; } #endif // PKMNLIB_MOVELIBRARY_HPP