Refactor ReleaseEvent.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user