Rework ScriptAggregator so it only needs to be created once, and can then be reset.
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:
@@ -8,22 +8,21 @@
|
||||
namespace CreatureLib::Battling {
|
||||
class ScriptSource {
|
||||
bool _areScriptsInitialized = false;
|
||||
Arbutils::Collections::List<ScriptWrapper> _scripts;
|
||||
ScriptAggregator _scripts;
|
||||
|
||||
protected:
|
||||
virtual void GetActiveScripts(Arbutils::Collections::List<ScriptWrapper>& scripts) = 0;
|
||||
void ResetActiveScripts() {
|
||||
_areScriptsInitialized = false;
|
||||
_scripts.Clear();
|
||||
}
|
||||
void ResetActiveScripts() { _areScriptsInitialized = false; }
|
||||
|
||||
public:
|
||||
ScriptAggregator GetScriptIterator() {
|
||||
const ScriptAggregator& GetScriptIterator() {
|
||||
if (!_areScriptsInitialized) {
|
||||
GetActiveScripts(_scripts);
|
||||
List<ScriptWrapper> scripts;
|
||||
GetActiveScripts(scripts);
|
||||
_scripts = ScriptAggregator(scripts);
|
||||
_areScriptsInitialized = true;
|
||||
}
|
||||
return ScriptAggregator(_scripts);
|
||||
return _scripts;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user