This commit is contained in:
@@ -7,18 +7,23 @@
|
||||
namespace PkmnLib::Library {
|
||||
class SpeciesLibrary : public CreatureLib::Library::SpeciesLibrary {
|
||||
public:
|
||||
inline bool TryGet(const Arbutils::CaseInsensitiveConstString& name, const PokemonSpecies*& outSpecies) const {
|
||||
return CreatureLib::Library::SpeciesLibrary::TryGet(
|
||||
name, (const CreatureLib::Library::CreatureSpecies*&)outSpecies);
|
||||
inline bool TryGet(const ArbUt::CaseInsensitiveConstString& name,
|
||||
ArbUt::BorrowedPtr<const PokemonSpecies>& outSpecies) const {
|
||||
auto v = outSpecies.As<const PokemonSpecies::CreatureSpecies>();
|
||||
auto res = CreatureLib::Library::SpeciesLibrary::TryGet(name, v);
|
||||
outSpecies = v.As<const PokemonSpecies>();
|
||||
return res;
|
||||
}
|
||||
|
||||
inline const PokemonSpecies* Get(const Arbutils::CaseInsensitiveConstString& name) const {
|
||||
return dynamic_cast<const PokemonSpecies*>(CreatureLib::Library::SpeciesLibrary::Get(name));
|
||||
inline ArbUt::BorrowedPtr<const PokemonSpecies> Get(const ArbUt::CaseInsensitiveConstString& name) const {
|
||||
return CreatureLib::Library::SpeciesLibrary::Get(name).As<const PokemonSpecies>();
|
||||
}
|
||||
|
||||
const PokemonSpecies* operator[](const Arbutils::CaseInsensitiveConstString& name) const { return Get(name); }
|
||||
ArbUt::BorrowedPtr<const PokemonSpecies> operator[](const ArbUt::CaseInsensitiveConstString& name) const {
|
||||
return Get(name);
|
||||
}
|
||||
|
||||
void Insert(const Arbutils::CaseInsensitiveConstString& name, const PokemonSpecies* species) {
|
||||
void Insert(const ArbUt::CaseInsensitiveConstString& name, const PokemonSpecies* species) {
|
||||
CreatureLib::Library::SpeciesLibrary::Insert(name, species);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user