Support for suppressing a script, so that it temporarily does not function.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-11-19 14:07:27 +01:00
parent 53c27d35b6
commit 9ede453587
2 changed files with 13 additions and 0 deletions

View File

@@ -17,12 +17,16 @@ namespace CreatureLib::Battling {
class BattleScript {
ArbUt::OptionalBorrowedPtr<void> _owner;
size_t _suppressed = 0;
public:
BattleScript(const ArbUt::OptionalBorrowedPtr<void>& owner) { _owner = owner; };
NO_COPY_OR_MOVE(BattleScript);
inline ArbUt::OptionalBorrowedPtr<void> GetOwner() const noexcept { return _owner; }
inline bool IsSuppressed() const noexcept { return _suppressed > 0; }
inline void Suppress() { _suppressed++; }
inline void Unsuppress() { _suppressed--; }
virtual ~BattleScript() = default;