Support for cloning battles for AI purposes.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
@@ -18,6 +18,8 @@ namespace CreatureLib::Battling {
|
||||
|
||||
virtual ~BattleScript() = default;
|
||||
|
||||
virtual BattleScript* Clone() = 0;
|
||||
|
||||
virtual void Stack(){};
|
||||
virtual void OnRemove(){};
|
||||
|
||||
|
||||
@@ -15,6 +15,12 @@ namespace CreatureLib::Battling {
|
||||
static constexpr size_t defaultCapacity = 8;
|
||||
ScriptSet() : _scripts(defaultCapacity), _lookup(defaultCapacity){};
|
||||
|
||||
void Clone(ScriptSet& s) {
|
||||
for (auto* script : _scripts) {
|
||||
s.Add(script->Clone());
|
||||
}
|
||||
}
|
||||
|
||||
BattleScript* Add(BattleScript* script) {
|
||||
auto v = _lookup.TryGet(script->GetName());
|
||||
if (v.has_value()) {
|
||||
|
||||
Reference in New Issue
Block a user