//
// 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.Collections.Generic;
namespace Ariadne.Vellum.UnitTests.Library
{
partial class VaultHost
{
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class __Frame : global::Ariadne.Frame
{
public int Hold__bonus;
public int Hold__seen;
public int Count__seen;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Count.seen");
lister.Local("Hold.bonus");
lister.Local("Hold.seen");
}
}
[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 Weigh__Frame : global::Ariadne.Frame
{
public ItemType Weigh__weighed;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Weigh.weighed");
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class Descend__Frame : global::Ariadne.Frame
{
public int Descend__depth;
public int Descend__level;
public global::Ariadne.Vellum.UnitTests.Library.VaultHost.Descend__Frame Descend____call_deeper_frame;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Descend.depth");
lister.Local("Descend.level");
{
global::Ariadne.IArcPartLister scope = lister.Scope("Descend.deeper/", typeof(global::Ariadne.Vellum.UnitTests.Library.VaultHost.Descend__Frame));
if (scope != null)
{
global::Ariadne.Vellum.UnitTests.Library.VaultHost.Descend__Frame.ListParts(scope);
}
}
}
}
protected VaultHost()
{
}
protected VaultHost(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader)
{
{ if (reader.TryField("Note", out string loaded)) { this.Note = loaded; } }
}
protected VaultHost(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("Note");
lister.Local("Count.seen");
lister.Local("Hold.bonus");
lister.Local("Hold.seen");
}
#pragma warning restore
protected override void __SaveFields(global::Ariadne.IArcWriter writer)
{
base.__SaveFields(writer);
#line 15 "Vault.cs"
writer.Field("Note", this.Note);
#line default
}
public partial class __Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Count.seen":
#line 33 "Vault.cs"
writer.Local("Count.seen", this.Count__seen);
#line hidden
return;
case "Hold.bonus":
#line 17 "Vault.cs"
writer.Local("Hold.bonus", this.Hold__bonus);
#line hidden
return;
case "Hold.seen":
#line 19 "Vault.cs"
writer.Local("Hold.seen", this.Hold__seen);
#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("Count.seen", out int loaded)) { this.Count__seen = loaded; } }
{ if (reader.TryLocal("Hold.bonus", out int loaded)) { this.Hold__bonus = loaded; } }
{ if (reader.TryLocal("Hold.seen", out int loaded)) { this.Hold__seen = loaded; } }
}
}
#pragma warning restore
public partial class Weigh__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Weigh.weighed":
#line 47 "Vault.cs"
writer.Local("Weigh.weighed", this.Weigh__weighed);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Weigh__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
base.LoadLocals(reader);
{ if (reader.TryLocal("Weigh.weighed", out ItemType loaded)) { this.Weigh__weighed = loaded; } }
}
}
#pragma warning restore
public partial class Descend__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Descend.depth":
#line 58 "Vault.cs"
writer.Local("Descend.depth", this.Descend__depth);
#line hidden
return;
case "Descend.level":
#line 60 "Vault.cs"
writer.Local("Descend.level", this.Descend__level);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Descend__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.LoadLocals(reader);
{ if (reader.TryLocal("Descend.depth", out int loaded)) { this.Descend__depth = loaded; } }
{ if (reader.TryLocal("Descend.level", out int loaded)) { this.Descend__level = loaded; } }
{
if (reader.TryScope("Descend.deeper/", out global::Ariadne.IArcReader scope))
{
this.Descend____call_deeper_frame = new global::Ariadne.Vellum.UnitTests.Library.VaultHost.Descend__Frame();
this.Descend____call_deeper_frame.LoadLocals(scope);
}
}
}
public override void AttachWaits(global::Ariadne.WakeSlot slot)
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.AttachWaits(slot);
if (this.Descend____call_deeper_frame != null) { this.Descend____call_deeper_frame.AttachWaits(slot); }
}
public override void EndWaits()
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.EndWaits();
if (this.Descend____call_deeper_frame != null) { this.Descend____call_deeper_frame.EndWaits(); }
}
}
#pragma warning disable
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Hold__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, int bonus__argument)
{
#line hidden
ref int bonus = ref __frame.Hold__bonus;
if (__frame.ResumeKey == null)
{
bonus = bonus__argument;
}
ref int seen = ref __frame.Hold__seen;
switch (__frame.ResumeKey)
{
case "hold": goto hold;
}
#line 19 "Vault.cs"
seen = 0;
#line hidden
hold:
#line 22 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 24 "Vault.cs"
seen++;
#line 25 "Vault.cs"
__frame.Mark("hold"); return false;
#line hidden
}
#line 28 "Vault.cs"
Note = "held " + (seen + bonus);
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Hold__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "hold":
__frame.SaveLocal("Hold.bonus", writer);
__frame.SaveLocal("Hold.seen", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Count__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, out int __result)
{
#line hidden
__result = default(int);
ref int seen = ref __frame.Count__seen;
switch (__frame.ResumeKey)
{
case "count": goto count;
}
#line 33 "Vault.cs"
seen = 0;
#line hidden
count:
#line 36 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 38 "Vault.cs"
seen++;
#line 39 "Vault.cs"
__frame.Mark("count"); return false;
#line hidden
}
#line 42 "Vault.cs"
{ __result = seen; __frame.Exit(); return true; }
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Count__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "count":
__frame.SaveLocal("Count.seen", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Weigh__Passage(Weigh__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, ItemType item)
{
#line hidden
ref ItemType weighed = ref __frame.Weigh__weighed;
switch (__frame.ResumeKey)
{
case "weigh": goto weigh;
}
#line 47 "Vault.cs"
weighed = item;
#line hidden
weigh:
#line 50 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 52 "Vault.cs"
__frame.Mark("weigh"); return false;
#line hidden
}
#line 55 "Vault.cs"
Note = "weighed " + weighed;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Weigh__LocalsToSave(Weigh__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 "weigh":
__frame.SaveLocal("Weigh.weighed", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Descend__Passage(Descend__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, int depth__argument)
{
#line hidden
ref int depth = ref __frame.Descend__depth;
if (__frame.ResumeKey == null)
{
depth = depth__argument;
}
ref int level = ref __frame.Descend__level;
switch (__frame.ResumeKey)
{
case "deeper": goto deeper;
case "landed": goto landed;
}
#line 60 "Vault.cs"
level = depth;
#line hidden
{
#line 62 "Vault.cs"
if (!(depth > 0)) goto __end1;
#line hidden
}
#line hidden
deeper:
#line hidden
{
#line 65 "Vault.cs"
using (__frame.Enter("deeper")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.Descend____call_deeper_frame == null) { __frame.Descend____call_deeper_frame = new global::Ariadne.Vellum.UnitTests.Library.VaultHost.Descend__Frame(); } if (!Descend__Passage(__frame.Lend(__frame.Descend____call_deeper_frame), __arcFrame, __time, vault, __frame.ResumeKey == null ? (depth - 1) : default(int))) { return false; } }
#line hidden
}
#line hidden
__end1:
#line hidden
landed:
#line 69 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 71 "Vault.cs"
__frame.Mark("landed"); return false;
#line hidden
}
#line 74 "Vault.cs"
Note += "level" + level + ";";
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Descend__LocalsToSave(Descend__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 "deeper":
__frame.SaveLocal("Descend.depth", writer);
__frame.SaveLocal("Descend.level", writer);
{ global::Ariadne.IArcWriter scope = writer.Scope("Descend.deeper/"); Descend__LocalsToSave(__frame.Lend(__frame.Descend____call_deeper_frame), __arcFrame, depth + 1, scope, arcWriter); }
break;
case "landed":
__frame.SaveLocal("Descend.level", writer);
break;
}
}
}
}
namespace Ariadne.Vellum.UnitTests.Library
{
partial class VaultTagged
{
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class __Frame : global::Ariadne.Frame
{
public TagType Settle__kept;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Settle.kept");
}
}
[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 Hold__Frame : global::Ariadne.Frame
{
public TagType Hold__kept;
public ItemType Hold__carried;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Hold.carried");
lister.Local("Hold.kept");
}
}
protected VaultTagged()
{
}
protected VaultTagged(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader)
{
{ if (reader.TryField("Last", out TagType loaded)) { this.Last = loaded; } else if (!reader.HasField("Last")) { throw new global::System.IO.InvalidDataException("VaultTagged's save has no field 'Last', which has no initializer to fall back on. Give it one."); } }
{ if (reader.TryField("Log", out string loaded)) { this.Log = loaded; } }
}
protected VaultTagged(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.Field("Log");
lister.Local("Settle.kept");
}
#pragma warning restore
protected override void __SaveFields(global::Ariadne.IArcWriter writer)
{
base.__SaveFields(writer);
#line 83 "Vault.cs"
writer.Field("Last", this.Last);
#line 85 "Vault.cs"
writer.Field("Log", this.Log);
#line default
}
public partial class __Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Settle.kept":
#line 89 "Vault.cs"
writer.Local("Settle.kept", this.Settle__kept);
#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("Settle.kept", out TagType loaded)) { this.Settle__kept = loaded; } }
}
}
#pragma warning restore
public partial class Hold__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Hold.carried":
#line 103 "Vault.cs"
writer.Local("Hold.carried", this.Hold__carried);
#line hidden
return;
case "Hold.kept":
#line 102 "Vault.cs"
writer.Local("Hold.kept", this.Hold__kept);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Hold__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
base.LoadLocals(reader);
{ if (reader.TryLocal("Hold.carried", out ItemType loaded)) { this.Hold__carried = loaded; } }
{ if (reader.TryLocal("Hold.kept", out TagType loaded)) { this.Hold__kept = loaded; } }
}
}
#pragma warning disable
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Settle__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, TagType tag)
{
#line hidden
ref TagType kept = ref __frame.Settle__kept;
switch (__frame.ResumeKey)
{
case "settle": goto settle;
}
#line 89 "Vault.cs"
kept = tag;
#line hidden
settle:
#line 92 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 94 "Vault.cs"
__frame.Mark("settle"); return false;
#line hidden
}
#line 97 "Vault.cs"
Last = kept;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Settle__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "settle":
__frame.SaveLocal("Settle.kept", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Hold__Passage(Hold__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, TagType tag, ItemType item)
{
#line hidden
ref TagType kept = ref __frame.Hold__kept;
ref ItemType carried = ref __frame.Hold__carried;
switch (__frame.ResumeKey)
{
case "hold": goto hold;
}
#line 102 "Vault.cs"
kept = tag;
#line 103 "Vault.cs"
carried = item;
#line hidden
hold:
#line 106 "Vault.cs"
while (!vault.Open.Contains("held"))
#line hidden
{
#line 108 "Vault.cs"
__frame.Mark("hold"); return false;
#line hidden
}
#line 111 "Vault.cs"
Last = kept;
#line 112 "Vault.cs"
Log += carried + ";";
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected void Hold__LocalsToSave(Hold__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 "hold":
__frame.SaveLocal("Hold.kept", writer);
__frame.SaveLocal("Hold.carried", writer);
break;
}
}
}
}
namespace Ariadne.Vellum.UnitTests.Library
{
partial class VaultShelf
{
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class __Frame : global::Ariadne.Frame
{
public ItemType Stock__stocked;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Stock.stocked");
}
}
[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 Label__Frame : global::Ariadne.Frame
{
public ItemType Label__labeled;
public TagType Label__kept;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Label.kept");
lister.Local("Label.labeled");
}
}
[global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")]
protected override bool __Resume(global::Ariadne.Vellum.UnitTests.Library.Vault context, global::Ariadne.TickTime __time)
{
return Run__Passage((__Frame)__CurrentFrame, __time, context);
}
public VaultShelf()
{
}
protected VaultShelf(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader)
{
{ if (reader.TryField("Note", out string loaded)) { this.Note = loaded; } }
}
protected VaultShelf(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("Note");
lister.Local("Stock.stocked");
}
#pragma warning restore
protected override void __SaveFields(global::Ariadne.IArcWriter writer)
{
base.__SaveFields(writer);
#line 121 "Vault.cs"
writer.Field("Note", this.Note);
#line default
}
public partial class __Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Stock.stocked":
#line 125 "Vault.cs"
writer.Local("Stock.stocked", this.Stock__stocked);
#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("Stock.stocked", out ItemType loaded)) { this.Stock__stocked = loaded; } }
}
}
#pragma warning restore
public partial class Label__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Label.kept":
#line 139 "Vault.cs"
writer.Local("Label.kept", this.Label__kept);
#line hidden
return;
case "Label.labeled":
#line 138 "Vault.cs"
writer.Local("Label.labeled", this.Label__labeled);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Label__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
base.LoadLocals(reader);
{ if (reader.TryLocal("Label.kept", out TagType loaded)) { this.Label__kept = loaded; } }
{ if (reader.TryLocal("Label.labeled", out ItemType loaded)) { this.Label__labeled = loaded; } }
}
}
#pragma warning disable
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault)
{
#line hidden
switch (__frame.ResumeKey)
{
}
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Stock__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, ItemType item)
{
#line hidden
ref ItemType stocked = ref __frame.Stock__stocked;
switch (__frame.ResumeKey)
{
case "stock": goto stock;
}
#line 125 "Vault.cs"
stocked = item;
#line hidden
stock:
#line 128 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 130 "Vault.cs"
__frame.Mark("stock"); return false;
#line hidden
}
#line 133 "Vault.cs"
Note = "stocked " + stocked;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Stock__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "stock":
__frame.SaveLocal("Stock.stocked", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Label__Passage(Label__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, ItemType item, TagType tag)
{
#line hidden
ref ItemType labeled = ref __frame.Label__labeled;
ref TagType kept = ref __frame.Label__kept;
switch (__frame.ResumeKey)
{
case "label": goto label;
}
#line 138 "Vault.cs"
labeled = item;
#line 139 "Vault.cs"
kept = tag;
#line hidden
label:
#line 142 "Vault.cs"
while (!vault.Open.Contains("labeled"))
#line hidden
{
#line 144 "Vault.cs"
__frame.Mark("label"); return false;
#line hidden
}
#line 147 "Vault.cs"
Note = "labeled " + labeled + kept;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Label__LocalsToSave(Label__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 "label":
__frame.SaveLocal("Label.labeled", writer);
__frame.SaveLocal("Label.kept", writer);
break;
}
}
}
}
namespace Ariadne.Vellum.UnitTests.Library
{
partial class VaultTemplate
{
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class __Frame : global::Ariadne.Frame
{
public int Run__count;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
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.Vellum.UnitTests.Library.Vault 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);
}
protected VaultTemplate()
{
}
protected VaultTemplate(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader)
{
{ if (reader.TryField("TemplateNote", out string loaded)) { this.TemplateNote = loaded; } }
}
protected VaultTemplate(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("TemplateNote");
lister.Local("Run.count");
}
#pragma warning restore
protected override void __SaveFields(global::Ariadne.IArcWriter writer)
{
base.__SaveFields(writer);
#line 160 "Vault.cs"
writer.Field("TemplateNote", this.TemplateNote);
#line default
}
public partial class __Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Run.count":
#line 164 "Vault.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.count", out int loaded)) { this.Run__count = loaded; } }
}
}
#pragma warning disable
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault)
{
#line hidden
ref int count = ref __frame.Run__count;
switch (__frame.ResumeKey)
{
case "template": goto template;
}
#line 164 "Vault.cs"
count = 1;
#line hidden
template:
#line 167 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 169 "Vault.cs"
__frame.Mark("template"); return false;
#line hidden
}
#line 172 "Vault.cs"
TemplateNote = "template " + count;
#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 "template":
__frame.SaveLocal("Run.count", writer);
break;
}
}
}
}
namespace Ariadne.Vellum.UnitTests.Library
{
partial class VaultPlant
{
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class __Frame : global::Ariadne.Frame
{
public int Update__bonus;
public int Update__waited;
public int Measure__waited;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Measure.waited");
lister.Local("Update.bonus");
lister.Local("Update.waited");
}
}
[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 Ponder__Frame : global::Ariadne.Frame
{
public ItemType Ponder__held;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Ponder.held");
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public partial class Dig__Frame : global::Ariadne.Frame
{
public int Dig__depth;
public int Dig__level;
public global::Ariadne.Vellum.UnitTests.Library.VaultPlant.Dig__Frame Dig____call_deeper_frame;
public static void ListParts(global::Ariadne.IArcPartLister lister)
{
lister.Local("Dig.depth");
lister.Local("Dig.level");
{
global::Ariadne.IArcPartLister scope = lister.Scope("Dig.deeper/", typeof(global::Ariadne.Vellum.UnitTests.Library.VaultPlant.Dig__Frame));
if (scope != null)
{
global::Ariadne.Vellum.UnitTests.Library.VaultPlant.Dig__Frame.ListParts(scope);
}
}
}
}
[global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")]
protected override bool __Resume(global::Ariadne.Vellum.UnitTests.Library.Vault context, global::Ariadne.TickTime __time)
{
return Run__Passage((__Frame)__CurrentFrame, __time, context);
}
public VaultPlant()
{
}
protected VaultPlant(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader)
{
{ if (reader.TryField("Updates", out int loaded)) { this.Updates = loaded; } else if (!reader.HasField("Updates")) { throw new global::System.IO.InvalidDataException("VaultPlant's save has no field 'Updates', which has no initializer to fall back on. Give it one."); } }
{ if (reader.TryField("Note", out string loaded)) { this.Note = loaded; } }
}
protected VaultPlant(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("Updates");
lister.Field("Note");
lister.Local("Measure.waited");
lister.Local("Update.bonus");
lister.Local("Update.waited");
}
#pragma warning restore
protected override void __SaveFields(global::Ariadne.IArcWriter writer)
{
base.__SaveFields(writer);
#line 181 "Vault.cs"
writer.Field("Updates", this.Updates);
#line 183 "Vault.cs"
writer.Field("Note", this.Note);
#line default
}
public partial class __Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Measure.waited":
#line 202 "Vault.cs"
writer.Local("Measure.waited", this.Measure__waited);
#line hidden
return;
case "Update.bonus":
#line 185 "Vault.cs"
writer.Local("Update.bonus", this.Update__bonus);
#line hidden
return;
case "Update.waited":
#line 187 "Vault.cs"
writer.Local("Update.waited", this.Update__waited);
#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("Measure.waited", out int loaded)) { this.Measure__waited = loaded; } }
{ if (reader.TryLocal("Update.bonus", out int loaded)) { this.Update__bonus = loaded; } }
{ if (reader.TryLocal("Update.waited", out int loaded)) { this.Update__waited = loaded; } }
}
}
#pragma warning restore
public partial class Ponder__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Ponder.held":
#line 216 "Vault.cs"
writer.Local("Ponder.held", this.Ponder__held);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Ponder__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
base.LoadLocals(reader);
{ if (reader.TryLocal("Ponder.held", out ItemType loaded)) { this.Ponder__held = loaded; } }
}
}
#pragma warning restore
public partial class Dig__Frame
{
public override void SaveLocal(string key, global::Ariadne.IArcWriter writer)
{
switch (key)
{
case "Dig.depth":
#line 227 "Vault.cs"
writer.Local("Dig.depth", this.Dig__depth);
#line hidden
return;
case "Dig.level":
#line 229 "Vault.cs"
writer.Local("Dig.level", this.Dig__level);
#line hidden
return;
}
#line default
base.SaveLocal(key, writer);
}
}
#pragma warning disable
public partial class Dig__Frame
{
public override void LoadLocals(global::Ariadne.IArcReader reader)
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.LoadLocals(reader);
{ if (reader.TryLocal("Dig.depth", out int loaded)) { this.Dig__depth = loaded; } }
{ if (reader.TryLocal("Dig.level", out int loaded)) { this.Dig__level = loaded; } }
{
if (reader.TryScope("Dig.deeper/", out global::Ariadne.IArcReader scope))
{
this.Dig____call_deeper_frame = new global::Ariadne.Vellum.UnitTests.Library.VaultPlant.Dig__Frame();
this.Dig____call_deeper_frame.LoadLocals(scope);
}
}
}
public override void AttachWaits(global::Ariadne.WakeSlot slot)
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.AttachWaits(slot);
if (this.Dig____call_deeper_frame != null) { this.Dig____call_deeper_frame.AttachWaits(slot); }
}
public override void EndWaits()
{
global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack();
base.EndWaits();
if (this.Dig____call_deeper_frame != null) { this.Dig____call_deeper_frame.EndWaits(); }
}
}
#pragma warning disable
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault)
{
#line hidden
switch (__frame.ResumeKey)
{
}
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Update__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, int bonus__argument)
{
#line hidden
ref int bonus = ref __frame.Update__bonus;
if (__frame.ResumeKey == null)
{
bonus = bonus__argument;
}
ref int waited = ref __frame.Update__waited;
switch (__frame.ResumeKey)
{
case "wait": goto wait;
}
#line 187 "Vault.cs"
waited = 0;
#line hidden
wait:
#line 190 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 192 "Vault.cs"
waited++;
#line 193 "Vault.cs"
__frame.Mark("wait"); return false;
#line hidden
}
#line 196 "Vault.cs"
Updates += waited + bonus;
#line 197 "Vault.cs"
Note = "updated after " + waited;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Update__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "wait":
__frame.SaveLocal("Update.bonus", writer);
__frame.SaveLocal("Update.waited", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Measure__Passage(__Frame __frame, global::Ariadne.TickTime __time, Vault vault, out int __result)
{
#line hidden
__result = default(int);
ref int waited = ref __frame.Measure__waited;
switch (__frame.ResumeKey)
{
case "measure": goto measure;
}
#line 202 "Vault.cs"
waited = 0;
#line hidden
measure:
#line 205 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 207 "Vault.cs"
waited++;
#line 208 "Vault.cs"
__frame.Mark("measure"); return false;
#line hidden
}
#line 211 "Vault.cs"
{ __result = waited; __frame.Exit(); return true; }
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Measure__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer)
{
if (depth >= __frame.Cursor.Count)
{
return;
}
switch (__frame.Cursor[depth])
{
case "measure":
__frame.SaveLocal("Measure.waited", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Ponder__Passage(Ponder__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, ItemType item)
{
#line hidden
ref ItemType held = ref __frame.Ponder__held;
switch (__frame.ResumeKey)
{
case "ponder": goto ponder;
}
#line 216 "Vault.cs"
held = item;
#line hidden
ponder:
#line 219 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 221 "Vault.cs"
__frame.Mark("ponder"); return false;
#line hidden
}
#line 224 "Vault.cs"
Note = "pondered " + held;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Ponder__LocalsToSave(Ponder__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 "ponder":
__frame.SaveLocal("Ponder.held", writer);
break;
}
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public bool Dig__Passage(Dig__Frame __frame, __Frame __arcFrame, global::Ariadne.TickTime __time, Vault vault, int depth__argument)
{
#line hidden
ref int depth = ref __frame.Dig__depth;
if (__frame.ResumeKey == null)
{
depth = depth__argument;
}
ref int level = ref __frame.Dig__level;
switch (__frame.ResumeKey)
{
case "deeper": goto deeper;
case "dug": goto dug;
}
#line 229 "Vault.cs"
level = depth;
#line hidden
{
#line 231 "Vault.cs"
if (!(depth > 0)) goto __end1;
#line hidden
}
#line hidden
deeper:
#line hidden
{
#line 234 "Vault.cs"
using (__frame.Enter("deeper")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.Dig____call_deeper_frame == null) { __frame.Dig____call_deeper_frame = new global::Ariadne.Vellum.UnitTests.Library.VaultPlant.Dig__Frame(); } if (!Dig__Passage(__frame.Lend(__frame.Dig____call_deeper_frame), __arcFrame, __time, vault, __frame.ResumeKey == null ? (depth - 1) : default(int))) { return false; } }
#line hidden
}
#line hidden
__end1:
#line hidden
dug:
#line 238 "Vault.cs"
while (!vault.Open.Contains("go"))
#line hidden
{
#line 240 "Vault.cs"
__frame.Mark("dug"); return false;
#line hidden
}
#line 243 "Vault.cs"
Updates += level;
#line hidden
__frame.Exit(); return true;
#line default
}
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public void Dig__LocalsToSave(Dig__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 "deeper":
__frame.SaveLocal("Dig.depth", writer);
__frame.SaveLocal("Dig.level", writer);
{ global::Ariadne.IArcWriter scope = writer.Scope("Dig.deeper/"); Dig__LocalsToSave(__frame.Lend(__frame.Dig____call_deeper_frame), __arcFrame, depth + 1, scope, arcWriter); }
break;
case "dug":
__frame.SaveLocal("Dig.level", writer);
break;
}
}
}
}