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

@@ -7,9 +7,9 @@ namespace PkmnLib::Library {
uint8_t _flingPower;
public:
Item(std::string name, CreatureLib::Library::ItemCategory category,
Item(const Arbutils::CaseInsensitiveConstString& name, CreatureLib::Library::ItemCategory category,
CreatureLib::Library::BattleItemCategory battleCategory, int32_t price,
std::unordered_set<std::string> flags, uint8_t flingPower)
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags, uint8_t flingPower)
: CreatureLib::Library::Item(name, category, battleCategory, price, flags), _flingPower(flingPower) {}
inline uint8_t GetFlingPower() const { return _flingPower; }

View File

@@ -6,16 +6,16 @@
namespace PkmnLib::Library {
class ItemLibrary : public CreatureLib::Library::ItemLibrary {
public:
inline bool TryGet(const char* name, const Item*& item) const{
inline bool TryGet(const Arbutils::CaseInsensitiveConstString& name, const Item*& item) const {
return CreatureLib::Library::ItemLibrary::TryGet(name, (const CreatureLib::Library::Item*&)item);
}
inline const Item* Get(const char* name) const{
inline const Item* Get(const Arbutils::CaseInsensitiveConstString& name) const {
return reinterpret_cast<const Item*>(CreatureLib::Library::ItemLibrary::Get(name));
}
const Item* operator[](const char* name) const { return Get(name); }
const Item* operator[](const Arbutils::CaseInsensitiveConstString& name) const { return Get(name); }
void Insert(const char* name, const Item* item) {
void Insert(const Arbutils::CaseInsensitiveConstString& name, const Item* item) {
CreatureLib::Library::ItemLibrary::Insert(name, item);
}
};