#ifndef PKMNLIB_SPECIESLIBRARY_HPP #define PKMNLIB_SPECIESLIBRARY_HPP #include #include "PokemonSpecies.hpp" namespace PkmnLib::Library { class SpeciesLibrary : public CreatureLib::Library::SpeciesLibrary { public: inline bool TryGetPkmnSpecies(const std::string& name, const PokemonSpecies*& outSpecies) const{ return TryGetSpecies(name, (const CreatureLib::Library::CreatureSpecies*&)outSpecies); } inline const PokemonSpecies* GetPkmnSpecies(const std::string& name) const { return dynamic_cast(CreatureLib::Library::SpeciesLibrary::GetSpecies(name)); } const PokemonSpecies* operator[](const std::string& name) const { return GetPkmnSpecies(name); } void LoadSpecies(const std::string& name, const PokemonSpecies* species){ CreatureLib::Library::SpeciesLibrary::LoadSpecies(name, species); } }; } #endif // PKMNLIB_SPECIESLIBRARY_HPP