From b6e238780e5609fdd84d0f6080bca083bd91b44c Mon Sep 17 00:00:00 2001 From: PopSlime Date: Wed, 15 Feb 2023 18:09:21 +0800 Subject: [PATCH] Change fixed skin root to configurable root element in skin container. --- Assets/Cryville/Crtr/Event/ContainerHandler.cs | 2 +- Assets/Cryville/Crtr/SkinContainer.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/Cryville/Crtr/Event/ContainerHandler.cs b/Assets/Cryville/Crtr/Event/ContainerHandler.cs index f01d4bc..6df3807 100644 --- a/Assets/Cryville/Crtr/Event/ContainerHandler.cs +++ b/Assets/Cryville/Crtr/Event/ContainerHandler.cs @@ -72,7 +72,7 @@ namespace Cryville.Crtr.Event { SkinContainer skinContainer; protected Judge judge; public void AttachSystems(PdtSkin skin, Judge judge) { - skinContainer = new SkinContainer(skin); + skinContainer = new SkinContainer(skin.elements); this.judge = judge; } diff --git a/Assets/Cryville/Crtr/SkinContainer.cs b/Assets/Cryville/Crtr/SkinContainer.cs index 92ca8b9..c58d7f3 100644 --- a/Assets/Cryville/Crtr/SkinContainer.cs +++ b/Assets/Cryville/Crtr/SkinContainer.cs @@ -6,7 +6,7 @@ using UnityEngine.Profiling; namespace Cryville.Crtr { public class SkinContainer { - readonly PdtSkin skin; + readonly SkinElement _rootElement; readonly DynamicStack[] _stacks = new DynamicStack[2]; class DynamicStack { public readonly List Properties = new List(); @@ -26,8 +26,8 @@ namespace Cryville.Crtr { public SkinSelectors Selectors { get; set; } public SkinElement Element { get; set; } } - public SkinContainer(PdtSkin _skin) { - skin = _skin; + public SkinContainer(SkinElement rootElement) { + _rootElement = rootElement; for (int i = 0; i < _stacks.Length; i++) _stacks[i] = new DynamicStack(); } public void MatchStatic(ContainerState state) { @@ -35,7 +35,7 @@ namespace Cryville.Crtr { stack.Clear(); ChartPlayer.etor.ContextState = state; ChartPlayer.etor.ContextEvent = state.Container; - MatchStatic(skin, state, stack, new RuntimeSkinContext(state.Handler.SkinContext)); + MatchStatic(_rootElement, state, stack, new RuntimeSkinContext(state.Handler.SkinContext)); ChartPlayer.etor.ContextEvent = null; ChartPlayer.etor.ContextState = null; }