Enable inheriting from both MultiMacroRef* and MacroRef*

Initially to be used only for the "Macro" condition type
This commit is contained in:
WarmUpTill 2022-08-21 12:05:49 +02:00 committed by WarmUpTill
parent 6f7bcc34af
commit 1027dda6f6
6 changed files with 10 additions and 8 deletions

View File

@ -14,7 +14,7 @@ enum class PerformMacroAction {
class MacroActionMacro : public MacroRefAction {
public:
MacroActionMacro(Macro *m) : MacroRefAction(m) {}
MacroActionMacro(Macro *m) : MacroAction(m), MacroRefAction(m) {}
bool PerformAction();
void LogAction();
bool Save(obs_data_t *obj);

View File

@ -8,7 +8,7 @@
class MacroActionRandom : public MultiMacroRefAction {
public:
MacroActionRandom(Macro *m) : MultiMacroRefAction(m) {}
MacroActionRandom(Macro *m) : MacroAction(m), MultiMacroRefAction(m) {}
bool PerformAction();
void LogAction();
bool Save(obs_data_t *obj);

View File

@ -9,7 +9,9 @@
class MacroActionSequence : public MultiMacroRefAction {
public:
MacroActionSequence(Macro *m) : MultiMacroRefAction(m) {}
MacroActionSequence(Macro *m) : MacroAction(m), MultiMacroRefAction(m)
{
}
bool PerformAction();
void LogAction();
bool Save(obs_data_t *obj);

View File

@ -15,7 +15,7 @@ enum class TimerAction {
class MacroActionTimer : public MacroRefAction {
public:
MacroActionTimer(Macro *m) : MacroRefAction(m) {}
MacroActionTimer(Macro *m) : MacroAction(m), MacroRefAction(m) {}
bool PerformAction();
void LogAction();
bool Save(obs_data_t *obj);

View File

@ -11,14 +11,14 @@ public:
virtual void LogAction();
};
class MacroRefAction : public MacroAction {
class MacroRefAction : virtual public MacroAction {
public:
MacroRefAction(Macro *m) : MacroAction(m) {}
void ResolveMacroRef();
MacroRef _macro;
};
class MultiMacroRefAction : public MacroAction {
class MultiMacroRefAction : virtual public MacroAction {
public:
MultiMacroRefAction(Macro *m) : MacroAction(m) {}
void ResolveMacroRef();

View File

@ -80,14 +80,14 @@ private:
DurationModifier _duration;
};
class MacroRefCondition : public MacroCondition {
class MacroRefCondition : virtual public MacroCondition {
public:
MacroRefCondition(Macro *m) : MacroCondition(m) {}
void ResolveMacroRef();
MacroRef _macro;
};
class MultiMacroRefCondtition : public MacroCondition {
class MultiMacroRefCondtition : virtual public MacroCondition {
public:
MultiMacroRefCondtition(Macro *m) : MacroCondition(m) {}
void ResolveMacroRef();