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