@Override public void addScenarioActor(TimelineScenarioActor actor) { super.addScenarioActor(actor); if (this.lastActor != null) { super.addDependency(actor, this.lastActor); } this.lastActor = actor; }
public void rendezvous() { // make all actors added since last rendezvous to wait for // all actors added prior to last rendezvous if (this.addedPriorToLastRendezvous.size() > 0) { for (TimelineScenarioActor sinceLast : this.addedSinceLastRendezvous) { for (TimelineScenarioActor beforeLast : this.addedPriorToLastRendezvous) { super.addDependency(sinceLast, beforeLast); } } } this.addedPriorToLastRendezvous.clear(); this.addedPriorToLastRendezvous.addAll(this.addedSinceLastRendezvous); this.addedSinceLastRendezvous.clear(); }
@Override public void playLoop() { // add last implicit rendezvous this.rendezvous(); super.playLoop(); }
@Override public void addScenarioActor(TimelineScenarioActor actor) { super.addScenarioActor(actor); this.addedSinceLastRendezvous.add(actor); }