//
// 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;
}
}
}
}