// // Ariadne.Generator's copy of the scripts in this file: the code that actually runs. Edits here are overwritten. // In the copy beside the script, #line paths are relative to it; the compiled code uses full paths. #pragma warning disable using System; using System.Collections.Generic; namespace Ariadne.UnitTests { partial class SingleTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SingleTriggerScript() { } protected SingleTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SingleTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 29 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line 26 "TriggerWaitScripts.cs" world.Log.Add("start"); #line hidden first: #line 29 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 29 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } #line 30 "TriggerWaitScripts.cs" world.Log.Add("door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TwoWaitsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Ariadne.TriggerWait Run____triggers2 = new global::Ariadne.TriggerWait(1); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__triggers2"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TwoWaitsScript() { } protected TwoWaitsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TwoWaitsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__triggers2"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 42 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__triggers2": #line 46 "TriggerWaitScripts.cs" writer.Local("Run.__triggers2", this.Run____triggers2); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__triggers2", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers2 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); this.Run____triggers2.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); this.Run____triggers2.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; case "second": goto second__resume; } #line hidden first: #line 42 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 42 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } #line 43 "TriggerWaitScripts.cs" world.Log.Add("door"); #line hidden second: #line 46 "TriggerWaitScripts.cs" __frame.Run____triggers2.Begin(__frame, requiresAll: false); __frame.Run____triggers2.Add(world.Alarm); #line hidden second__resume: #line 46 "TriggerWaitScripts.cs" if (!__frame.Run____triggers2.Complete) { __frame.Suspend(); __frame.Mark("second"); return false; } #line 47 "TriggerWaitScripts.cs" world.Log.Add("alarm"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; case "second": __frame.SaveLocal("Run.__triggers2", writer); break; } } } } namespace Ariadne.UnitTests { partial class AnyTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AnyTriggerScript() { } protected AnyTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected AnyTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 59 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 59 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden first__resume: #line 59 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } global::Ariadne.Trigger fired; fired = __frame.Run____triggers1.Result; #line 60 "TriggerWaitScripts.cs" world.Log.Add(fired == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class AllTriggersScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AllTriggersScript() { } protected AllTriggersScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected AllTriggersScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 72 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 72 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: true); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden first__resume: #line 72 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } global::Ariadne.Trigger last; last = __frame.Run____triggers1.Result; #line 73 "TriggerWaitScripts.cs" world.Log.Add(last == world.Alarm ? "alarm last" : "door last"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class RepeatedTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RepeatedTriggerScript() { } protected RepeatedTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected RepeatedTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 85 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 85 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: true); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 85 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } #line 86 "TriggerWaitScripts.cs" world.Log.Add("through"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class LoopedTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__count; public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.count"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public LoopedTriggerScript() { } protected LoopedTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected LoopedTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.count"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 101 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.count": #line 97 "TriggerWaitScripts.cs" writer.Local("Run.count", this.Run__count); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.count", out int loaded)) { this.Run__count = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden ref int count = ref __frame.Run__count; switch (__frame.ResumeKey) { case "spin": goto spin__resume; } #line 97 "TriggerWaitScripts.cs" count = 0; #line hidden __loopStart1: #line hidden { #line 98 "TriggerWaitScripts.cs" if (!(count < 3)) goto __loopEnd1; #line hidden } #line hidden spin: #line hidden { #line 101 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden } #line hidden spin__resume: #line hidden { #line 101 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("spin"); return false; } #line 102 "TriggerWaitScripts.cs" ++count; #line 103 "TriggerWaitScripts.cs" world.Log.Add("door " + count); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "spin": __frame.SaveLocal("Run.count", writer); __frame.SaveLocal("Run.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class RestartableTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RestartableTriggerScript() { } protected RestartableTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Skip", out bool loaded)) { this.Skip = loaded; } else if (!reader.HasField("Skip")) { throw new global::System.IO.InvalidDataException("RestartableTriggerScript's save has no field 'Skip', which has no initializer to fall back on. Give it one."); } } } protected RestartableTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Skip"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 113 "TriggerWaitScripts.cs" writer.Field("Skip", this.Skip); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 120 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 125 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; case "nap": goto nap__resume; } #line hidden { #line 117 "TriggerWaitScripts.cs" if (!(!Skip)) goto __end1; #line hidden } #line hidden first: #line hidden { #line 120 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden } #line hidden first__resume: #line hidden { #line 120 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } #line 121 "TriggerWaitScripts.cs" world.Log.Add("door"); #line hidden } #line hidden __end1: #line hidden nap: #line 125 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(TimeSpan.FromSeconds(100)); #line hidden nap__resume: #line 125 "TriggerWaitScripts.cs" if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Mark("nap"); return false; } #line 126 "TriggerWaitScripts.cs" world.Log.Add("rested"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; case "nap": __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class AssignedTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.Trigger Run__first; public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public global::Ariadne.TriggerWait Run____triggers2 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__triggers2"); lister.Local("Run.first"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AssignedTriggerScript() { } protected AssignedTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Last", out global::Ariadne.Trigger loaded)) { this.Last = loaded; } else if (!reader.HasField("Last")) { throw new global::System.IO.InvalidDataException("AssignedTriggerScript's save has no field 'Last', which has no initializer to fall back on. Give it one."); } } } protected AssignedTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Last"); lister.Local("Run.__triggers1"); lister.Local("Run.__triggers2"); lister.Local("Run.first"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 135 "TriggerWaitScripts.cs" writer.Field("Last", this.Last); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 142 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__triggers2": #line 145 "TriggerWaitScripts.cs" writer.Local("Run.__triggers2", this.Run____triggers2); #line hidden return; case "Run.first": #line 139 "TriggerWaitScripts.cs" writer.Local("Run.first", this.Run__first); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__triggers2", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers2 = loaded; } } { if (reader.TryLocal("Run.first", out global::Ariadne.Trigger loaded)) { this.Run__first = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); this.Run____triggers2.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); this.Run____triggers2.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden ref global::Ariadne.Trigger first = ref __frame.Run__first; switch (__frame.ResumeKey) { case "pick": goto pick__resume; case "again": goto again__resume; } #line 139 "TriggerWaitScripts.cs" first = null; #line hidden pick: #line 142 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden pick__resume: #line 142 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("pick"); return false; } first = __frame.Run____triggers1.Result; #line hidden again: #line 145 "TriggerWaitScripts.cs" __frame.Run____triggers2.Begin(__frame, requiresAll: false); __frame.Run____triggers2.Add(world.Door); __frame.Run____triggers2.Add(world.Alarm); #line hidden again__resume: #line 145 "TriggerWaitScripts.cs" if (!__frame.Run____triggers2.Complete) { __frame.Suspend(); __frame.Mark("again"); return false; } Last = __frame.Run____triggers2.Result; #line 146 "TriggerWaitScripts.cs" world.Log.Add(first == world.Door ? "first door" : "first alarm"); #line 147 "TriggerWaitScripts.cs" world.Log.Add(Last == world.Door ? "then door" : "then alarm"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "pick": __frame.SaveLocal("Run.__triggers1", writer); break; case "again": __frame.SaveLocal("Run.first", writer); __frame.SaveLocal("Run.__triggers2", writer); break; } } } } namespace Ariadne.UnitTests { partial class KeptTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.Trigger Run__fired; public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.fired"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public KeptTriggerScript() { } protected KeptTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected KeptTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.fired"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 159 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.fired": #line 159 "TriggerWaitScripts.cs" writer.Local("Run.fired", this.Run__fired); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.fired", out global::Ariadne.Trigger loaded)) { this.Run__fired = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden ref global::Ariadne.Trigger fired = ref __frame.Run__fired; switch (__frame.ResumeKey) { case "first": goto first__resume; case "second": goto second__resume; } #line hidden first: #line 159 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden first__resume: #line 159 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("first"); return false; } fired = __frame.Run____triggers1.Result; #line hidden second: #line 162 "TriggerWaitScripts.cs" __frame.Mark("second"); return false; #line hidden second__resume: #line 163 "TriggerWaitScripts.cs" world.Log.Add(fired == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); break; case "second": __frame.SaveLocal("Run.fired", writer); break; } } } } namespace Ariadne.UnitTests { partial class PassageTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Pick____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Pick.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public PassageTriggerScript() { } protected PassageTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected PassageTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Pick.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Pick.__triggers1": #line 175 "TriggerWaitScripts.cs" writer.Local("Pick.__triggers1", this.Pick____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Pick.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Pick____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Pick____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Pick____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "outer": goto outer; } #line hidden outer: #line 181 "TriggerWaitScripts.cs" global::Ariadne.Trigger picked; { global::Ariadne.Trigger __value; using (__frame.Enter("outer")) { if (!Pick__Passage(__frame, __time, world, __result: out __value)) { return false; } } picked = __value; } #line 182 "TriggerWaitScripts.cs" world.Log.Add(picked == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "outer": Pick__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Pick__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world, out global::Ariadne.Trigger __result) { #line hidden __result = default(global::Ariadne.Trigger); switch (__frame.ResumeKey) { case "inner": goto inner__resume; } #line hidden inner: #line 175 "TriggerWaitScripts.cs" __frame.Pick____triggers1.Begin(__frame, requiresAll: false); __frame.Pick____triggers1.Add(world.Door); __frame.Pick____triggers1.Add(world.Alarm); #line hidden inner__resume: #line 175 "TriggerWaitScripts.cs" if (!__frame.Pick____triggers1.Complete) { __frame.Suspend(); __frame.Mark("inner"); return false; } __result = __frame.Pick____triggers1.Result; __frame.Exit(); return true; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Pick__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "inner": __frame.SaveLocal("Pick.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TriggerLookoutScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Watch____triggers1 = new global::Ariadne.TriggerWait(1); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Watch.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public TriggerLookoutScript() { } protected TriggerLookoutScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TriggerLookoutScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Watch.__triggers1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Watch.__triggers1": #line 194 "TriggerWaitScripts.cs" writer.Local("Watch.__triggers1", this.Watch____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Watch.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Watch____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Watch____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Watch____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public bool Watch__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "watch": goto watch__resume; } #line hidden watch: #line 194 "TriggerWaitScripts.cs" __frame.Watch____triggers1.Begin(__frame, requiresAll: false); __frame.Watch____triggers1.Add(world.Door); #line hidden watch__resume: #line 194 "TriggerWaitScripts.cs" if (!__frame.Watch____triggers1.Complete) { __frame.Suspend(); __frame.Mark("watch"); return false; } #line 195 "TriggerWaitScripts.cs" world.Log.Add("seen"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public void Watch__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "watch": __frame.SaveLocal("Watch.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TriggerRelayScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.UnitTests.TriggerLookoutScript Run____call_relay_receiver; public global::Ariadne.UnitTests.TriggerLookoutScript.__Frame Run____call_relay_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { { global::Ariadne.IArcPartLister scope = lister.Scope("Run.relay/", typeof(global::Ariadne.UnitTests.TriggerLookoutScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.TriggerLookoutScript.__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TriggerRelayScript() { } protected TriggerRelayScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Lookout", out global::Ariadne.UnitTests.TriggerLookoutScript loaded)) { this.Lookout = loaded; } else if (!reader.HasField("Lookout")) { throw new global::System.IO.InvalidDataException("TriggerRelayScript's save has no field 'Lookout', which has no initializer to fall back on. Give it one."); } } } protected TriggerRelayScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Lookout"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.relay/", typeof(global::Ariadne.UnitTests.TriggerLookoutScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.TriggerLookoutScript.__Frame.ListParts(scope); } } } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 208 "TriggerWaitScripts.cs" writer.Field("Lookout", this.Lookout); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.relay/receiver": #line 213 "TriggerWaitScripts.cs" writer.Local("receiver", this.Run____call_relay_receiver); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryScope("Run.relay/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.TriggerLookoutScript loaded)) { this.Run____call_relay_receiver = loaded; } } if (this.Run____call_relay_receiver != null) { this.Run____call_relay_frame = (global::Ariadne.UnitTests.TriggerLookoutScript.__Frame)this.Run____call_relay_receiver.NewFrame(); this.Run____call_relay_frame.LoadLocals(scope); } } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Run____call_relay_frame != null) { this.Run____call_relay_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Run____call_relay_frame != null) { this.Run____call_relay_frame.EndWaits(); } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "relay": goto relay; } #line hidden relay: #line 213 "TriggerWaitScripts.cs" using (__frame.Enter("relay")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Run____call_relay_receiver = (Lookout); __frame.Run____call_relay_frame = null; } if (__frame.Run____call_relay_frame == null) { __frame.Run____call_relay_frame = (global::Ariadne.UnitTests.TriggerLookoutScript.__Frame)__frame.Run____call_relay_receiver.NewFrame(); } if (!__frame.Run____call_relay_receiver.Watch__Passage(__frame.Lend(__frame.Run____call_relay_frame), __time, world)) { return false; } } #line 214 "TriggerWaitScripts.cs" world.Log.Add("relayed"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "relay": { global::Ariadne.IArcWriter scope = writer.Scope("Run.relay/"); __frame.SaveLocal("Run.relay/receiver", scope); if (__frame.Run____call_relay_receiver != null) { __frame.Run____call_relay_receiver.Watch__LocalsToSave(__frame.Lend(__frame.Run____call_relay_frame), depth + 1, scope); } } break; } } } } namespace Ariadne.UnitTests { partial class GenericTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame Run____call_outer_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { { global::Ariadne.IArcPartLister scope = lister.Scope("Run.outer/", typeof(global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame)); if (scope != null) { global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class Choose__Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Choose____triggers1 = new global::Ariadne.TriggerWait(2); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Choose.__triggers1"); } } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public GenericTriggerScript() { } protected GenericTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected GenericTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { { global::Ariadne.IArcPartLister scope = lister.Scope("Run.outer/", typeof(global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame)); if (scope != null) { global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame.ListParts(scope); } } } #pragma warning restore #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryScope("Run.outer/", out global::Ariadne.IArcReader scope)) { this.Run____call_outer_frame = new global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame(); this.Run____call_outer_frame.LoadLocals(scope); } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Run____call_outer_frame != null) { this.Run____call_outer_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Run____call_outer_frame != null) { this.Run____call_outer_frame.EndWaits(); } } } #pragma warning restore public partial class Choose__Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Choose.__triggers1": #line 226 "TriggerWaitScripts.cs" writer.Local("Choose.__triggers1", this.Choose____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class Choose__Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Choose.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Choose____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Choose____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Choose____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "outer": goto outer; } #line hidden outer: #line 232 "TriggerWaitScripts.cs" global::Ariadne.Trigger picked; { global::Ariadne.Trigger __value; using (__frame.Enter("outer")) { if (__frame.Run____call_outer_frame == null) { __frame.Run____call_outer_frame = new global::Ariadne.UnitTests.GenericTriggerScript.Choose__Frame(); } if (!Choose__Passage(__frame.Lend(__frame.Run____call_outer_frame), __frame, __time, world, __frame.ResumeKey == null ? (5) : default(int), __result: out __value)) { return false; } } picked = __value; } #line 233 "TriggerWaitScripts.cs" world.Log.Add(picked == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "outer": { global::Ariadne.IArcWriter scope = writer.Scope("Run.outer/"); Choose__LocalsToSave(__frame.Lend(__frame.Run____call_outer_frame), __frame, depth + 1, scope, writer); } break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Choose__Passage(Choose__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, TriggerWorld world, ItemType marker, out global::Ariadne.Trigger __result) { #line hidden __result = default(global::Ariadne.Trigger); switch (__frame.ResumeKey) { case "inner": goto inner__resume; } #line hidden inner: #line 226 "TriggerWaitScripts.cs" __frame.Choose____triggers1.Begin(__frame, requiresAll: false); __frame.Choose____triggers1.Add(world.Door); __frame.Choose____triggers1.Add(world.Alarm); #line hidden inner__resume: #line 226 "TriggerWaitScripts.cs" if (!__frame.Choose____triggers1.Complete) { __frame.Suspend(); __frame.Mark("inner"); return false; } __result = __frame.Choose____triggers1.Result; __frame.Exit(); return true; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Choose__LocalsToSave(Choose__Frame __frame, __Frame __arcFrame, int depth, global::Ariadne.IArcWriter writer, global::Ariadne.IArcWriter arcWriter) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "inner": __frame.SaveLocal("Choose.__triggers1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedDoorScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedDoorScript() { } protected TimedDoorScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedDoorScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 242 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 247 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 247 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 247 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 247 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 247 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("first"); return false; } __frame.Run____triggers1.Expire(); } global::Ariadne.Trigger got; got = __frame.Run____triggers1.Result; #line 248 "TriggerWaitScripts.cs" world.Log.Add(got == null ? "timed out" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedAnyScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedAnyScript() { } protected TimedAnyScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedAnyScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 257 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 262 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 262 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 262 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 262 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden first__resume: #line 262 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("first"); return false; } __frame.Run____triggers1.Expire(); } global::Ariadne.Trigger fired; fired = __frame.Run____triggers1.Result; #line 263 "TriggerWaitScripts.cs" world.Log.Add(fired == null ? "timed out" : fired == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedAllScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(2); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedAllScript() { } protected TimedAllScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedAllScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 272 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 277 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 277 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 277 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 277 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: true); __frame.Run____triggers1.Add(world.Door); __frame.Run____triggers1.Add(world.Alarm); #line hidden first__resume: #line 277 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("first"); return false; } __frame.Run____triggers1.Expire(); } global::Ariadne.Trigger last; last = __frame.Run____triggers1.Result; #line 278 "TriggerWaitScripts.cs" world.Log.Add(last == null ? "timed out" : last == world.Alarm ? "alarm last" : "door last"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedThenNapScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Amphora.Duration Run____wait1; public global::Amphora.Duration Run____wait2; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); lister.Local("Run.__wait2"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedThenNapScript() { } protected TimedThenNapScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedThenNapScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); lister.Local("Run.__wait2"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 287 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 292 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 292 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; case "Run.__wait2": #line 296 "TriggerWaitScripts.cs" writer.Local("Run.__wait2", this.Run____wait2); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } { if (reader.TryLocal("Run.__wait2", out global::Amphora.Duration loaded)) { this.Run____wait2 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; case "second": goto second__resume; } #line hidden first: #line 292 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 292 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 292 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("first"); return false; } __frame.Run____triggers1.Expire(); } #line 293 "TriggerWaitScripts.cs" world.Log.Add("waited"); #line hidden second: #line 296 "TriggerWaitScripts.cs" __frame.Run____wait2 = __time.DeadlineAfter(TimeSpan.FromSeconds(100)); #line hidden second__resume: #line 296 "TriggerWaitScripts.cs" if (__time.GameTime < __frame.Run____wait2) { __frame.Sleep(__frame.Run____wait2); __frame.Mark("second"); return false; } #line 297 "TriggerWaitScripts.cs" world.Log.Add("rested"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; case "second": __frame.SaveLocal("Run.__wait2", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedLoopScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__count; public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); lister.Local("Run.count"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedLoopScript() { } protected TimedLoopScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedLoopScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); lister.Local("Run.count"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 306 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 314 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 314 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; case "Run.count": #line 310 "TriggerWaitScripts.cs" writer.Local("Run.count", this.Run__count); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } { if (reader.TryLocal("Run.count", out int loaded)) { this.Run__count = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden ref int count = ref __frame.Run__count; switch (__frame.ResumeKey) { case "spin": goto spin__resume; } #line 310 "TriggerWaitScripts.cs" count = 0; #line hidden __loopStart1: #line hidden { #line 311 "TriggerWaitScripts.cs" if (!(count < 3)) goto __loopEnd1; #line hidden } #line hidden spin: #line hidden { #line 314 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 314 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden } #line hidden spin__resume: #line hidden { #line 314 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("spin"); return false; } __frame.Run____triggers1.Expire(); } global::Ariadne.Trigger got; got = __frame.Run____triggers1.Result; #line 315 "TriggerWaitScripts.cs" ++count; #line 316 "TriggerWaitScripts.cs" world.Log.Add((got == null ? "timed out " : "door ") + count); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "spin": __frame.SaveLocal("Run.count", writer); __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedPassageScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Pick____triggers1 = new global::Ariadne.TriggerWait(2); public global::Amphora.Duration Pick____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Pick.__triggers1"); lister.Local("Pick.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedPassageScript() { } protected TimedPassageScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedPassageScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Pick.__triggers1"); lister.Local("Pick.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 326 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Pick.__triggers1": #line 331 "TriggerWaitScripts.cs" writer.Local("Pick.__triggers1", this.Pick____triggers1); #line hidden return; case "Pick.__wait1": #line 331 "TriggerWaitScripts.cs" writer.Local("Pick.__wait1", this.Pick____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Pick.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Pick____triggers1 = loaded; } } { if (reader.TryLocal("Pick.__wait1", out global::Amphora.Duration loaded)) { this.Pick____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Pick____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Pick____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "outer": goto outer; } #line hidden outer: #line 337 "TriggerWaitScripts.cs" global::Ariadne.Trigger picked; { global::Ariadne.Trigger __value; using (__frame.Enter("outer")) { if (!Pick__Passage(__frame, __time, world, __result: out __value)) { return false; } } picked = __value; } #line 338 "TriggerWaitScripts.cs" world.Log.Add(picked == null ? "timed out" : picked == world.Alarm ? "alarm" : "door"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "outer": Pick__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Pick__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world, out global::Ariadne.Trigger __result) { #line hidden __result = default(global::Ariadne.Trigger); switch (__frame.ResumeKey) { case "inner": goto inner__resume; } #line hidden inner: #line 331 "TriggerWaitScripts.cs" __frame.Pick____wait1 = __time.DeadlineAfter(Limit); #line 331 "TriggerWaitScripts.cs" __frame.Pick____triggers1.Begin(__frame, requiresAll: false); __frame.Pick____triggers1.Add(world.Door); __frame.Pick____triggers1.Add(world.Alarm); #line hidden inner__resume: #line 331 "TriggerWaitScripts.cs" if (!__frame.Pick____triggers1.Complete) { if (__time.GameTime < __frame.Pick____wait1) { __frame.Sleep(__frame.Pick____wait1); __frame.Suspend(); __frame.Mark("inner"); return false; } __frame.Pick____triggers1.Expire(); } __result = __frame.Pick____triggers1.Result; __frame.Exit(); return true; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Pick__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "inner": __frame.SaveLocal("Pick.__triggers1", writer); __frame.SaveLocal("Pick.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimedDiscardScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public global::Amphora.Duration Run____wait1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimedDiscardScript() { } protected TimedDiscardScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Limit", out global::System.TimeSpan loaded)) { this.Limit = loaded; } } } protected TimedDiscardScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Limit"); lister.Local("Run.__triggers1"); lister.Local("Run.__wait1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 347 "TriggerWaitScripts.cs" writer.Field("Limit", this.Limit); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 352 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; case "Run.__wait1": #line 352 "TriggerWaitScripts.cs" writer.Local("Run.__wait1", this.Run____wait1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } { if (reader.TryLocal("Run.__wait1", out global::Amphora.Duration loaded)) { this.Run____wait1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; } #line hidden first: #line 352 "TriggerWaitScripts.cs" __frame.Run____wait1 = __time.DeadlineAfter(Limit); #line 352 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden first__resume: #line 352 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { if (__time.GameTime < __frame.Run____wait1) { __frame.Sleep(__frame.Run____wait1); __frame.Suspend(); __frame.Mark("first"); return false; } __frame.Run____triggers1.Expire(); } #line 353 "TriggerWaitScripts.cs" world.Log.Add("through"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": __frame.SaveLocal("Run.__triggers1", writer); __frame.SaveLocal("Run.__wait1", writer); break; } } } } namespace Ariadne.UnitTests { partial class BranchingTriggerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.TriggerWait Run____triggers1 = new global::Ariadne.TriggerWait(1); public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__triggers1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.TriggerWorld context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public BranchingTriggerScript() { } protected BranchingTriggerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Skip", out bool loaded)) { this.Skip = loaded; } else if (!reader.HasField("Skip")) { throw new global::System.IO.InvalidDataException("BranchingTriggerScript's save has no field 'Skip', which has no initializer to fall back on. Give it one."); } } } protected BranchingTriggerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Skip"); lister.Local("Run.__triggers1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 362 "TriggerWaitScripts.cs" writer.Field("Skip", this.Skip); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__triggers1": #line 369 "TriggerWaitScripts.cs" writer.Local("Run.__triggers1", this.Run____triggers1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__triggers1", out global::Ariadne.TriggerWait loaded)) { this.Run____triggers1 = loaded; } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { base.AttachWaits(slot); this.Run____triggers1.Attach(slot); } public override void EndWaits() { base.EndWaits(); this.Run____triggers1.Expire(); } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, TriggerWorld world) { #line hidden switch (__frame.ResumeKey) { case "inside": goto inside__resume; } #line hidden { #line 366 "TriggerWaitScripts.cs" if (!(!Skip)) goto __end1; #line hidden } #line hidden inside: #line hidden { #line 369 "TriggerWaitScripts.cs" __frame.Run____triggers1.Begin(__frame, requiresAll: false); __frame.Run____triggers1.Add(world.Door); #line hidden } #line hidden inside__resume: #line hidden { #line 369 "TriggerWaitScripts.cs" if (!__frame.Run____triggers1.Complete) { __frame.Suspend(); __frame.Mark("inside"); return false; } #line 370 "TriggerWaitScripts.cs" world.Log.Add("waited"); #line hidden } #line hidden __end1: #line 373 "TriggerWaitScripts.cs" world.Log.Add("done"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "inside": __frame.SaveLocal("Run.__triggers1", writer); break; } } } }