/// <summary> /// Convenient method for linking the events of this <see cref="Story"/> to another /// <see cref="Procedure"/>. Also optionally add event handlers to /// <see cref="Procedure.Started"/> and <see cref="Procedure.Completed"/>. /// </summary> /// <param name="pro">The <see cref="Procedure"/> to link to.</param> /// <param name="started">Event handler for <see cref="Procedure.Started"/>.</param> /// <param name="completed"> /// Event handler for <see cref="Procedure.Completed"/>. /// </param> public void Link(Procedure pro, LogicEventHandler started = null, LogicEventHandler completed = null) { Event.Register(this, Started, (sender, e) => pro.Start()); Event.Register(this, Skipped, (sender, e) => pro.Skip()); Event.Register(this, Stopping, (sender, e) => pro.Stop()); Event.Register(pro, Completed, (sender, e) => Complete()); if (started != null) Event.Register(this, Started, started); if (completed != null) Event.Register(this, Completed, completed); }