namespace AcDream.Launcher.Core.Profiles; /// /// Per-character launch behaviour (Campaign LA spec §5). Stored on each /// and read by /// to /// decide the shape of the composed session-config document. /// /// /// Serialized as camelCase text ("gui"/"guiSelect"/ /// "headless") via the explicit /// new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, ...) /// registered in 's serializer options /// — deliberately NOT a per-type [JsonConverter] attribute, which /// uses exact member-name casing ("Gui") regardless of the /// ambient PropertyNamingPolicy. /// /// public enum LaunchMode { /// Launch the graphical client straight into the world as /// this character. Gui, /// Launch the graphical client but stop at the retail /// character-select screen — no character selector is sent. This is /// the default for a character that has never had its launch mode set /// explicitly. GuiSelect, /// Launch the no-window host running the idle bot /// policy (enter world, run plugins/login commands, stay until /// stopped). Headless, }