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;
@ -447,10 +475,10 @@ void EventHandlerSetScopeSequences::AddSequences(FeatureLevel featureLevel)
// statClearPerkNew // statClearPerkNew
// statSetUsingTable // statSetUsingTable
// statClearBitMask // statClearBitMask
AddSequence(SequenceGenericScriptStatement::Create({ create.ScriptKeyword("kickPlayer") })); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("kickPlayer")}));
AddSequence(SequenceGenericScriptStatement::Create({ create.ScriptKeyword("getKickPlayerQuestion") })); AddSequence(SequenceGenericScriptStatement::Create({create.ScriptKeyword("getKickPlayerQuestion")}));
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>());
} }