Replace most collections with Arbutils collections for more safety.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-03-22 19:21:40 +01:00
parent f190121e74
commit 27288563cd
40 changed files with 234 additions and 226 deletions

View File

@@ -7,7 +7,7 @@
namespace CreatureLib::Battling {
class ScriptSet {
std::vector<Script*> _scripts;
Arbutils::Collections::List<Script*> _scripts;
std::unordered_map<uint32_t, size_t> _lookup;
public:
@@ -24,8 +24,8 @@ namespace CreatureLib::Battling {
delete script;
return;
}
_scripts.push_back(script);
_lookup.insert({script->GetName(), _scripts.size() - 1});
_scripts.Append(script);
_lookup.insert({script->GetName(), _scripts.Count() - 1});
}
Script* Get(const ConstString& key) const { return Get(key.GetHash()); }
@@ -46,7 +46,7 @@ namespace CreatureLib::Battling {
auto script = _scripts[find->second];
script->OnRemove();
delete script;
_scripts.erase(_scripts.begin() + find.operator*().second);
_scripts.Remove(find.operator*().second);
_lookup.erase(keyHash);
}
}
@@ -55,7 +55,7 @@ namespace CreatureLib::Battling {
for (auto s : _scripts) {
delete s;
}
_scripts.clear();
_scripts.Clear();
_lookup.clear();
}
@@ -63,9 +63,9 @@ namespace CreatureLib::Battling {
bool Has(uint32_t keyHash) const { return _lookup.find(keyHash) != _lookup.end(); }
size_t Count() const { return _scripts.size(); }
size_t Count() const { return _scripts.Count(); }
const std::vector<Script*>* GetIterator() const { return &_scripts; }
const Arbutils::Collections::List<Script*>* GetIterator() const { return &_scripts; }
};
}