Initial commit

This commit is contained in:
2026-06-05 20:53:53 -05:00
commit f9a59e9a66
99 changed files with 15897 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
namespace ArtificersScrollwork.Sidecar.Models;
public record ClassInfo(
string Name,
string Namespace,
string FilePath,
string? BaseClass,
List<string> Interfaces,
List<PropertyInfo> Properties,
List<MethodInfo> Methods,
List<string> Attributes,
bool IsGump,
bool IsMobile,
bool IsItem
);
public record PropertyInfo(
string Name,
string Type,
bool HasGetter,
bool HasSetter
);

View File

@@ -0,0 +1,37 @@
namespace ArtificersScrollwork.Sidecar.Models;
/// <summary>Discriminated union of all Gump draw call types.</summary>
public abstract record DrawCall(string Type);
public record BackgroundDrawCall(int X, int Y, int W, int H, int GumpId)
: DrawCall("background");
public record ImageDrawCall(int X, int Y, int GumpId, int? Hue = null)
: DrawCall("image");
public record LabelDrawCall(int X, int Y, int Hue, string Text)
: DrawCall("label");
public record ButtonDrawCall(int X, int Y, int NormalId, int PressedId, int ButtonId)
: DrawCall("button");
public record HtmlDrawCall(int X, int Y, int W, int H, string Text, bool HasBackground, bool HasScrollbar)
: DrawCall("html");
public record ItemDrawCall(int X, int Y, int ItemId, int? Hue = null)
: DrawCall("item");
public record AlphaRegionDrawCall(int X, int Y, int W, int H)
: DrawCall("alpha_region");
public record TiledImageDrawCall(int X, int Y, int W, int H, int GumpId)
: DrawCall("tiled_image");
public record CheckboxDrawCall(int X, int Y, int InactiveId, int ActiveId, bool Checked, int SwitchId)
: DrawCall("checkbox");
public record RadioDrawCall(int X, int Y, int InactiveId, int ActiveId, bool Checked, int ReturnValue)
: DrawCall("radio");
public record TextEntryDrawCall(int X, int Y, int W, int H, int Hue, int EntryId, string InitialText)
: DrawCall("text_entry");

View File

@@ -0,0 +1,11 @@
namespace ArtificersScrollwork.Sidecar.Models;
public record FlowNode(
string Id,
string Type, // method_call | condition | gump_send | return | property_access
string Label,
List<FlowNode> Children,
string? FakeInputKey = null,
string? ResolvedGump = null,
int? AssetRef = null
);

View File

@@ -0,0 +1,16 @@
namespace ArtificersScrollwork.Sidecar.Models;
public record MethodInfo(
string Name,
string ReturnType,
List<ParameterInfo> Parameters,
bool IsOverride,
bool IsVirtual,
bool CallsGump,
string? GumpClass
);
public record ParameterInfo(
string Name,
string Type
);

View File

@@ -0,0 +1,17 @@
namespace ArtificersScrollwork.Sidecar.Models;
public record ScriptIndex(
int ClassCount,
int FileCount,
List<ClassSummary> Classes
);
public record ClassSummary(
string Name,
string Namespace,
string FilePath,
string? BaseClass,
bool IsGump,
bool IsMobile,
bool IsItem
);