From be64bc76b53c44213c79fe0ef1fa328dc36d1330 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Fri, 20 Jan 2023 22:26:56 +0800 Subject: [PATCH] Revert "Revise update clone type to update depth." This reverts commit 4185303bd2b112f2823b437a288e7f324d20d8ad. --- Assets/Cryville/Crtr/Components/SkinComponent.cs | 11 +++++------ Assets/Cryville/Crtr/Event/ContainerHandler.cs | 6 +++--- Assets/Cryville/Crtr/SkinContainer.cs | 12 ++++++------ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/Assets/Cryville/Crtr/Components/SkinComponent.cs b/Assets/Cryville/Crtr/Components/SkinComponent.cs index f08f2b8..57340ad 100644 --- a/Assets/Cryville/Crtr/Components/SkinComponent.cs +++ b/Assets/Cryville/Crtr/Components/SkinComponent.cs @@ -14,9 +14,8 @@ namespace Cryville.Crtr.Components { /// /// The name of the property. /// The property. - /// The maximum depth to update the property. - protected void SubmitProperty(string name, PdtOperator property, int depth = 1) { - Properties.Add(IdentifierManager.SharedInstance.Request(name), new SkinProperty(property, depth)); + protected void SubmitProperty(string name, PdtOperator property, int uct = 1) { + Properties.Add(IdentifierManager.SharedInstance.Request(name), new SkinProperty(property, uct)); } /// @@ -31,10 +30,10 @@ namespace Cryville.Crtr.Components { } public struct SkinProperty { public PdtOperator Operator { get; set; } - public int UpdateDepth { get; set; } - public SkinProperty(PdtOperator op, int depth = 1) { + public int UpdateCloneType { get; set; } + public SkinProperty(PdtOperator op, int uct = 1) { Operator = op; - UpdateDepth = depth; + UpdateCloneType = uct; } } } diff --git a/Assets/Cryville/Crtr/Event/ContainerHandler.cs b/Assets/Cryville/Crtr/Event/ContainerHandler.cs index 84dd03f..8859670 100644 --- a/Assets/Cryville/Crtr/Event/ContainerHandler.cs +++ b/Assets/Cryville/Crtr/Event/ContainerHandler.cs @@ -144,7 +144,7 @@ namespace Cryville.Crtr.Event { public virtual void Update(ContainerState s, StampedEvent ev) { bool flag = !Awoken && s.CloneType >= 2 && s.CloneType < 16; if (flag) PreAwake(s); - if (gogroup && s.CloneType <= 2) skinContainer.MatchDynamic(s, s.CloneType); + if (gogroup && s.CloneType <= 2) skinContainer.MatchDynamic(s); if (flag) Awake(s); } public virtual void ExUpdate(ContainerState s, StampedEvent ev) { @@ -158,7 +158,7 @@ namespace Cryville.Crtr.Event { tev.Target.Transform.position = GetCurrentWorldPoint(); tev.Target.Transform.rotation = Quaternion.Euler(s.Direction); #endif - skinContainer.MatchDynamic(s, 1); + skinContainer.MatchDynamic(s); CloseAnchor(); } anchorEvPool.Return(tev); @@ -170,7 +170,7 @@ namespace Cryville.Crtr.Event { Awoken = false; if (gogroup && s.CloneType <= 2) { OpenAnchor(a_tail); - skinContainer.MatchDynamic(s, s.CloneType); + skinContainer.MatchDynamic(s); CloseAnchor(); } } diff --git a/Assets/Cryville/Crtr/SkinContainer.cs b/Assets/Cryville/Crtr/SkinContainer.cs index 1667fd3..fc1e51b 100644 --- a/Assets/Cryville/Crtr/SkinContainer.cs +++ b/Assets/Cryville/Crtr/SkinContainer.cs @@ -66,7 +66,7 @@ namespace Cryville.Crtr { } if (rc.PropSrcs != null) ChartPlayer.etor.ContextCascadeDiscard(); } - public void MatchDynamic(ContainerState state, byte depth) { + public void MatchDynamic(ContainerState state) { if (dynprops.Count == 0 && dynelems.Count == 0) return; Profiler.BeginSample("SkinContainer.MatchDynamic"); ChartPlayer.etor.ContextState = state; @@ -76,7 +76,7 @@ namespace Cryville.Crtr { var psrcs = p.Context.ReadContext.PropSrcs; if (psrcs != null) ChartPlayer.etor.ContextCascadeInsert(psrcs); var prop = GetPropOp(p.Context.WriteTransform, p.Key); - if (depth > prop.UpdateDepth) continue; + if (state.CloneType > prop.UpdateCloneType) continue; ChartPlayer.etor.Evaluate(prop.Operator, p.Value); if (psrcs != null) ChartPlayer.etor.ContextCascadeDiscard(); } @@ -85,7 +85,7 @@ namespace Cryville.Crtr { var psrcs = e.Context.ReadContext.PropSrcs; if (psrcs != null) ChartPlayer.etor.ContextCascadeInsert(psrcs); var nctx = e.Selectors.MatchDynamic(state, e.Context.ReadContext); - if (nctx != null) MatchDynamic(e.Element, state, depth, new RuntimeSkinContext( + if (nctx != null) MatchDynamic(e.Element, state, new RuntimeSkinContext( nctx, e.Context, e.Selectors.annotations.Contains("if"), e.Selectors.annotations.Contains("then") )); if (psrcs != null) ChartPlayer.etor.ContextCascadeDiscard(); @@ -94,7 +94,7 @@ namespace Cryville.Crtr { ChartPlayer.etor.ContextState = null; Profiler.EndSample(); } - void MatchDynamic(SkinElement rel, ContainerState state, byte depth, RuntimeSkinContext ctx) { + void MatchDynamic(SkinElement rel, ContainerState state, RuntimeSkinContext ctx) { var rc = ctx.ReadContext; ChartPlayer.etor.ContextTransform = rc.Transform; if (rc.PropSrcs != null) ChartPlayer.etor.ContextCascadeInsert(rc.PropSrcs); @@ -102,14 +102,14 @@ namespace Cryville.Crtr { if (p.Key.Name == 0) throw new InvalidOperationException("Component creation in dynamic context is not allowed"); var prop = GetPropOp(ctx.WriteTransform, p.Key); - if (depth > prop.UpdateDepth) continue; + if (state.CloneType > prop.UpdateCloneType) continue; ChartPlayer.etor.Evaluate(prop.Operator, p.Value); } ChartPlayer.etor.ContextTransform = null; foreach (var r in rel.elements) { if (!r.Key.IsUpdatable(state)) continue; var nctx = r.Key.MatchDynamic(state, rc); - if (nctx != null) MatchDynamic(r.Value, state, depth, new RuntimeSkinContext( + if (nctx != null) MatchDynamic(r.Value, state, new RuntimeSkinContext( nctx, ctx, r.Key.annotations.Contains("if"), r.Key.annotations.Contains("then") )); }