Reimplement cur anchor.
This commit is contained in:
@@ -135,10 +135,17 @@ 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 (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 (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) {
|
||||||
|
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 MotionUpdate(byte ct, Chart.Motion ev) { }
|
||||||
public virtual void EndUpdate(ContainerState s) {
|
public virtual void EndUpdate(ContainerState s) {
|
||||||
if (s.CloneType < 16) {
|
if (s.CloneType < 16) {
|
||||||
|
|||||||
@@ -28,26 +28,13 @@ namespace Cryville.Crtr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PlaySound : StampedEvent {
|
public class Anchor : StampedEvent {
|
||||||
public new Chart.Sound Unstamped;
|
public int Name;
|
||||||
public override int Priority {
|
public override int Priority {
|
||||||
get { return 0; }
|
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 {
|
public StampedEvent AttackEvent {
|
||||||
get {
|
get {
|
||||||
if (attev == null) attev = Subevents.FirstOrDefault(ev => ev.Time == this.Time);
|
if (attev == null) attev = Subevents.FirstOrDefault(ev => ev.Time == this.Time);
|
||||||
|
|||||||
Reference in New Issue
Block a user