Pull skin container and judge attachment to handler.

This commit is contained in:
2022-11-19 22:02:05 +08:00
parent 1734cf9b72
commit 75652ecff1
3 changed files with 11 additions and 7 deletions

View File

@@ -508,7 +508,6 @@ namespace Cryville.Crtr {
throw new ArgumentException("Input config not completed\nPlease complete the input settings"); throw new ArgumentException("Input config not completed\nPlease complete the input settings");
} }
cbus.AttachSystems(pskin, judge);
Logger.Log("main", 0, "Load/WorkerThread", "Attaching handlers"); Logger.Log("main", 0, "Load/WorkerThread", "Attaching handlers");
var ch = new ChartHandler(chart, dir); var ch = new ChartHandler(chart, dir);
cbus.RootState.AttachHandler(ch); cbus.RootState.AttachHandler(ch);
@@ -526,6 +525,7 @@ namespace Cryville.Crtr {
ts.Value.AttachHandler(th); ts.Value.AttachHandler(th);
} }
} }
cbus.AttachSystems(pskin, judge);
Logger.Log("main", 0, "Load/WorkerThread", "Prehandling (iteration 1)"); Logger.Log("main", 0, "Load/WorkerThread", "Prehandling (iteration 1)");
using (var pbus = cbus.Clone(16)) { using (var pbus = cbus.Clone(16)) {
pbus.Forward(); pbus.Forward();

View File

@@ -63,6 +63,13 @@ namespace Cryville.Crtr.Event {
get { return cs.Container; } get { return cs.Container; }
} }
public SkinContainer skinContainer;
public Judge judge;
public void AttachSystems(PdtSkin skin, Judge judge) {
skinContainer = new SkinContainer(skin);
this.judge = judge;
}
public ContainerHandler() { } public ContainerHandler() { }
public abstract string TypeName { public abstract string TypeName {
get; get;
@@ -115,7 +122,7 @@ namespace Cryville.Crtr.Event {
public virtual void Update(ContainerState s, StampedEvent ev) { public virtual void Update(ContainerState s, StampedEvent ev) {
bool flag = !Awoken && s.CloneType >= 2 && s.CloneType < 16; bool flag = !Awoken && s.CloneType >= 2 && s.CloneType < 16;
if (flag) PreAwake(s); if (flag) PreAwake(s);
if (Awoken && s.CloneType <= 2) if (gogroup) cs.skinContainer.MatchDynamic(s); if (Awoken && s.CloneType <= 2) if (gogroup) skinContainer.MatchDynamic(s);
if (flag) Awake(s); if (flag) Awake(s);
} }
public virtual void ExUpdate(ContainerState s, StampedEvent ev) { } public virtual void ExUpdate(ContainerState s, StampedEvent ev) { }
@@ -123,7 +130,7 @@ namespace Cryville.Crtr.Event {
public virtual void EndUpdate(ContainerState s) { public virtual void EndUpdate(ContainerState s) {
if (s.CloneType < 16) { if (s.CloneType < 16) {
Awoken = false; Awoken = false;
if (gogroup && s.CloneType <= 2) cs.skinContainer.MatchDynamic(s); if (gogroup && s.CloneType <= 2) skinContainer.MatchDynamic(s);
} }
} }
public virtual void Anchor() { } public virtual void Anchor() { }

View File

@@ -50,8 +50,6 @@ namespace Cryville.Crtr.Event {
public byte CloneType; public byte CloneType;
private ContainerState rootPrototype = null; private ContainerState rootPrototype = null;
private ContainerState prototype = null; private ContainerState prototype = null;
public SkinContainer skinContainer;
public Judge judge;
public ContainerHandler Handler { public ContainerHandler Handler {
get; get;
@@ -210,8 +208,7 @@ namespace Cryville.Crtr.Event {
} }
public void AttachSystems(PdtSkin skin, Judge judge) { public void AttachSystems(PdtSkin skin, Judge judge) {
skinContainer = new SkinContainer(skin); Handler.AttachSystems(skin, judge);
this.judge = judge;
} }
public Vector GetRawValue(Identifier key) { public Vector GetRawValue(Identifier key) {