Refactor ReleaseEvent.

This commit is contained in:
2023-01-31 15:30:27 +08:00
parent 507b656eab
commit f9a1ea72fe
3 changed files with 18 additions and 23 deletions

View File

@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using CAnchor = Cryville.Crtr.Anchor;
namespace Cryville.Crtr {
@@ -9,9 +8,7 @@ namespace Cryville.Crtr {
public ChartEvent Unstamped;
public EventContainer Container;
public StampedEvent Origin;
public List<StampedEvent> Subevents = new List<StampedEvent>();
public List<StampedEvent> Coevents;
private StampedEvent relev = null;
public double Duration {
get {
@@ -47,10 +44,12 @@ namespace Cryville.Crtr {
}
}
StampedEvent relev = null;
public StampedEvent ReleaseEvent {
get {
if (relev == null) relev = Subevents.FirstOrDefault(ev => ((InstantEvent)ev.Unstamped).IsRelease);
return relev;
get { return relev; }
set {
if (relev != null) throw new InvalidOperationException("Release event already set");
relev = value;
}
}