Remove track property on note event. Attach contextual state on skin evaluation.

This commit is contained in:
2022-11-19 01:04:15 +08:00
parent 3ed7e566dd
commit 3b65dbea5b
3 changed files with 6 additions and 8 deletions

View File

@@ -377,14 +377,6 @@ namespace Cryville.Crtr {
}
}
public Note() {
SubmitPropSrc("track", new PropSrc.Float(() => {
var i = motions.FirstOrDefault(m => m.RelativeNode == null && m.Name == "track");
if (i == null) return ((Vec1)ChartPlayer.motionRegistry["track"].InitValue).Value;
else return ((Vec1)i.AbsoluteValue).Value;
}));
}
public override EventList GetEventsOfType(string type) {
switch (type) {
case "judges": return new EventList<Judge>(judges);

View File

@@ -29,7 +29,9 @@ namespace Cryville.Crtr {
else {
ChartPlayer.etor.ContextTransform = obj;
ChartPlayer.etor.ContextEvent = context.Container;
ChartPlayer.etor.ContextState = context;
ChartPlayer.etor.Evaluate(GetPropOp(obj, p.Key), p.Value);
ChartPlayer.etor.ContextState = null;
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextTransform = null;
}
@@ -58,7 +60,9 @@ namespace Cryville.Crtr {
if (p.Value.IsConstant) continue;
ChartPlayer.etor.ContextTransform = obj;
ChartPlayer.etor.ContextEvent = context.Container;
ChartPlayer.etor.ContextState = context;
ChartPlayer.etor.Evaluate(GetPropOp(obj, p.Key), p.Value);
ChartPlayer.etor.ContextState = null;
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextTransform = null;
}

View File

@@ -115,7 +115,9 @@ namespace Cryville.Crtr {
public override Transform Match(ContainerState h, Transform a, Transform ot = null) {
ChartPlayer.etor.ContextTransform = a;
ChartPlayer.etor.ContextEvent = h.Container;
ChartPlayer.etor.ContextState = h;
ChartPlayer.etor.Evaluate(_op, _exp);
ChartPlayer.etor.ContextState = null;
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextTransform = null;
return _flag ? a : null;