Reimplement cur anchor.

This commit is contained in:
2022-12-23 16:28:48 +08:00
parent 7475b19547
commit 617eddc030
2 changed files with 11 additions and 17 deletions

View File

@@ -135,10 +135,17 @@ 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 (s.CloneType == 0) {
ts.Bus.PushTempEvent(new StampedEvent.Anchor { Time = s.Time, Container = s.Container, Name = _a_cur });
}
if (s.CloneType <= 2) if (gogroup) skinContainer.MatchDynamic(s);
if (flag) Awake(s);
}
public virtual void ExUpdate(ContainerState s, StampedEvent ev) { }
public virtual void ExUpdate(ContainerState s, StampedEvent ev) {
if (ev is StampedEvent.Anchor) { OpenAnchor(((StampedEvent.Anchor)ev).Name); }
if (s.CloneType <= 2) if (gogroup) skinContainer.MatchDynamic(s);
if (ev is StampedEvent.Anchor) { CloseAnchor(((StampedEvent.Anchor)ev).Name); }
}
public virtual void MotionUpdate(byte ct, Chart.Motion ev) { }
public virtual void EndUpdate(ContainerState s) {
if (s.CloneType < 16) {

View File

@@ -27,27 +27,14 @@ namespace Cryville.Crtr {
throw new NotImplementedException();
}
}
public class PlaySound : StampedEvent {
public new Chart.Sound Unstamped;
public class Anchor : StampedEvent {
public int Name;
public override int Priority {
get { return 0; }
}
}
public class Judge : StampedEvent {
public float NoteTime;
public JudgeDefinition TargetJudge;
public Judge StartEvent;
public bool IsEndJudge;
public override int Priority {
get { return StartEvent == null ? 4 : 6; }
}
protected override int CompareExtra(StampedEvent other) {
return Equals(StartEvent, other) ? 1 : 0;
}
}
public StampedEvent AttackEvent {
get {
if (attev == null) attev = Subevents.FirstOrDefault(ev => ev.Time == this.Time);