Add Menu EventHandler parser for lerp

This commit is contained in:
Jan 2021-11-13 22:18:08 +01:00
parent 7025fca81c
commit b1e5fc70a6

View File

@ -379,6 +379,34 @@ namespace menu::event_handler_set_scope_sequences
EmitDynamicSetLocalVar(state, typeTag, varName, std::move(expression)); EmitDynamicSetLocalVar(state, typeTag, varName, std::move(expression));
} }
}; };
class SequenceLerp final : public SequenceGenericScriptStatement
{
public:
explicit SequenceLerp()
{
const ScriptMatcherFactory create(this);
AddMatchers({
create.And({
create.ScriptKeyword("lerp"),
create.Or({
create.ScriptKeyword("scale"),
create.ScriptKeyword("alpha"),
create.ScriptKeyword("x"),
create.ScriptKeyword("y"),
}),
create.ScriptKeyword("from"),
create.ScriptNumeric(),
create.ScriptKeyword("to"),
create.ScriptNumeric(),
create.ScriptKeyword("over"),
create.ScriptNumeric()
}).Capture(CAPTURE_SCRIPT_TOKEN),
create.Optional(create.Char(';'))
});
}
};
} }
using namespace event_handler_set_scope_sequences; using namespace event_handler_set_scope_sequences;
@ -452,5 +480,5 @@ void EventHandlerSetScopeSequences::AddSequences(FeatureLevel featureLevel)
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("partyUpdateMissingMapPackDvar")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("partyUpdateMissingMapPackDvar")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("togglePlayerMute")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("togglePlayerMute")}));
AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resolveError")})); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("resolveError")}));
// lerp AddSequence(std::make_unique<SequenceLerp>());
} }