diff --git a/AirMonitor/AirZone.cs b/AirMonitor/AirZone.cs index 8251ccc..cf88a24 100644 --- a/AirMonitor/AirZone.cs +++ b/AirMonitor/AirZone.cs @@ -96,6 +96,7 @@ namespace IngameScript _program.Runtime.UpdateFrequency |= UpdateFrequency.Once; yield return true; } + job.Dispose(); while (Triggered) yield return true; diff --git a/Mixins/Sequencer/Sequencer.cs b/Mixins/Sequencer/Sequencer.cs index 6d1627f..29847d8 100644 --- a/Mixins/Sequencer/Sequencer.cs +++ b/Mixins/Sequencer/Sequencer.cs @@ -12,16 +12,16 @@ namespace IngameScript public class Sequencer { public bool Running { get; private set; } + public string Name { get; private set; } private IConsole _console; - private string _name; private SortedDictionary> _sequence = new SortedDictionary>(); public Sequencer(IConsoleProgram program, string name) { - _name = name; - _console = new PrefixedConsole(program.Console, _name); + Name = name; + _console = new PrefixedConsole(program.Console, Name); } public void AddBlock(ISequenceable block) @@ -66,6 +66,7 @@ namespace IngameScript } yield return true; } + foreach (IEnumerator subJob in subJobs) subJob.Dispose(); // clean up after ourselves } } }