Replace most collections with Arbutils collections for more safety.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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; }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user