Change fixed skin root to configurable root element in skin container.
This commit is contained in:
@@ -72,7 +72,7 @@ namespace Cryville.Crtr.Event {
|
|||||||
SkinContainer skinContainer;
|
SkinContainer skinContainer;
|
||||||
protected Judge judge;
|
protected Judge judge;
|
||||||
public void AttachSystems(PdtSkin skin, Judge judge) {
|
public void AttachSystems(PdtSkin skin, Judge judge) {
|
||||||
skinContainer = new SkinContainer(skin);
|
skinContainer = new SkinContainer(skin.elements);
|
||||||
this.judge = judge;
|
this.judge = judge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ using UnityEngine.Profiling;
|
|||||||
|
|
||||||
namespace Cryville.Crtr {
|
namespace Cryville.Crtr {
|
||||||
public class SkinContainer {
|
public class SkinContainer {
|
||||||
readonly PdtSkin skin;
|
readonly SkinElement _rootElement;
|
||||||
readonly DynamicStack[] _stacks = new DynamicStack[2];
|
readonly DynamicStack[] _stacks = new DynamicStack[2];
|
||||||
class DynamicStack {
|
class DynamicStack {
|
||||||
public readonly List<DynamicProperty> Properties = new List<DynamicProperty>();
|
public readonly List<DynamicProperty> Properties = new List<DynamicProperty>();
|
||||||
@@ -26,8 +26,8 @@ namespace Cryville.Crtr {
|
|||||||
public SkinSelectors Selectors { get; set; }
|
public SkinSelectors Selectors { get; set; }
|
||||||
public SkinElement Element { get; set; }
|
public SkinElement Element { get; set; }
|
||||||
}
|
}
|
||||||
public SkinContainer(PdtSkin _skin) {
|
public SkinContainer(SkinElement rootElement) {
|
||||||
skin = _skin;
|
_rootElement = rootElement;
|
||||||
for (int i = 0; i < _stacks.Length; i++) _stacks[i] = new DynamicStack();
|
for (int i = 0; i < _stacks.Length; i++) _stacks[i] = new DynamicStack();
|
||||||
}
|
}
|
||||||
public void MatchStatic(ContainerState state) {
|
public void MatchStatic(ContainerState state) {
|
||||||
@@ -35,7 +35,7 @@ namespace Cryville.Crtr {
|
|||||||
stack.Clear();
|
stack.Clear();
|
||||||
ChartPlayer.etor.ContextState = state;
|
ChartPlayer.etor.ContextState = state;
|
||||||
ChartPlayer.etor.ContextEvent = state.Container;
|
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.ContextEvent = null;
|
||||||
ChartPlayer.etor.ContextState = null;
|
ChartPlayer.etor.ContextState = null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user