Logic cleanup.

This commit is contained in:
2022-11-19 10:49:52 +08:00
parent 5eb9786a7c
commit 1734cf9b72
2 changed files with 12 additions and 16 deletions

View File

@@ -17,26 +17,26 @@ namespace Cryville.Crtr {
skin = _skin; skin = _skin;
} }
public void MatchStatic(ContainerState context) { public void MatchStatic(ContainerState context) {
ChartPlayer.etor.ContextState = context;
ChartPlayer.etor.ContextEvent = context.Container;
matchedStatic.Clear(); matchedStatic.Clear();
MatchStatic(skin, context, context.Handler.gogroup); MatchStatic(skin, context, context.Handler.gogroup);
foreach (var m in matchedStatic) { foreach (var m in matchedStatic) {
var el = m.Key; var el = m.Key;
var obj = m.Value; var obj = m.Value;
ChartPlayer.etor.ContextTransform = obj;
foreach (var p in el.properties) { foreach (var p in el.properties) {
if (p.Key.Name == null) if (p.Key.Name == null)
obj.gameObject.AddComponent(p.Key.Component); obj.gameObject.AddComponent(p.Key.Component);
else { 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.Evaluate(GetPropOp(obj, p.Key), p.Value);
ChartPlayer.etor.ContextState = null;
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextTransform = null;
} }
} }
ChartPlayer.etor.ContextTransform = null;
} }
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextState = null;
} }
void MatchStatic(SkinElement rel, ContainerState context, Transform anchor = null) { void MatchStatic(SkinElement rel, ContainerState context, Transform anchor = null) {
matchedStatic.Add(rel, anchor); matchedStatic.Add(rel, anchor);
@@ -49,24 +49,24 @@ namespace Cryville.Crtr {
} }
public void MatchDynamic(ContainerState context) { public void MatchDynamic(ContainerState context) {
Profiler.BeginSample("SkinContainer.MatchDynamic"); Profiler.BeginSample("SkinContainer.MatchDynamic");
ChartPlayer.etor.ContextState = context;
ChartPlayer.etor.ContextEvent = context.Container;
matchedDynamic.Clear(); matchedDynamic.Clear();
MatchDynamic(skin, context, context.Handler.gogroup); MatchDynamic(skin, context, context.Handler.gogroup);
foreach (var m in matchedDynamic) { foreach (var m in matchedDynamic) {
var el = m.Key; var el = m.Key;
var obj = m.Value; var obj = m.Value;
ChartPlayer.etor.ContextTransform = obj;
foreach (var p in el.properties) { foreach (var p in el.properties) {
if (p.Key.Name == null) continue; if (p.Key.Name == null) continue;
if (p.Value.IsConstant) continue; 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.Evaluate(GetPropOp(obj, p.Key), p.Value);
ChartPlayer.etor.ContextState = null;
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextTransform = null;
} }
ChartPlayer.etor.ContextTransform = null;
} }
ChartPlayer.etor.ContextEvent = null;
ChartPlayer.etor.ContextState = null;
Profiler.EndSample(); Profiler.EndSample();
} }
void MatchDynamic(SkinElement rel, ContainerState context, Transform anchor = null) { void MatchDynamic(SkinElement rel, ContainerState context, Transform anchor = null) {

View File

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