Updates CreatureLib, implements ConstStrings.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2020-02-27 18:59:15 +01:00
parent d57b5852f1
commit 40a003429e
24 changed files with 214 additions and 202 deletions

View File

@@ -3,7 +3,7 @@
PkmnLib::Library::MoveData::MoveData(const std::string& name, uint8_t type,
PkmnLib::Library::MoveCategory category, uint8_t power, uint8_t accuracy,
uint8_t baseUsage, CreatureLib::Library::AttackTarget target, int8_t priority,
std::unordered_set<std::string> flags)
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags)
: AttackData(name, type, static_cast<CreatureLib::Library::AttackCategory>(category), power, accuracy, baseUsage,
target, priority, std::move(flags)) {}

View File

@@ -11,7 +11,7 @@ namespace PkmnLib::Library {
public:
MoveData(const std::string& name, uint8_t type, PkmnLib::Library::MoveCategory category, uint8_t power,
uint8_t accuracy, uint8_t baseUsage, CreatureLib::Library::AttackTarget target, int8_t priority,
std::unordered_set<std::string> flags);
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags);
PkmnLib::Library::MoveCategory GetCategory() const;
};

View File

@@ -8,12 +8,12 @@ namespace PkmnLib::Library {
public:
MoveLibrary(size_t initialCapacity = 32) : CreatureLib::Library::AttackLibrary(initialCapacity) {}
virtual const MoveData* operator[](const char* name) const { return Get(name); }
virtual const MoveData* operator[](const Arbutils::CaseInsensitiveConstString& name) const { return Get(name); }
inline bool TryGet(const char* name, const MoveData*& move) const {
inline bool TryGet(const Arbutils::CaseInsensitiveConstString& name, const MoveData*& move) const {
return CreatureLib::Library::AttackLibrary::TryGet(name, (const CreatureLib::Library::AttackData*&)move);
}
const MoveData* Get(const char* name) const {
const MoveData* Get(const Arbutils::CaseInsensitiveConstString& name) const {
return dynamic_cast<const MoveData*>(CreatureLib::Library::AttackLibrary::Get(name));
}
};