using Newtonsoft.Json; using System.ComponentModel; namespace NewHorizons.External.Configs { /// /// Configuration for a specific star system /// [JsonObject] public class StarSystemConfig { /// /// Relative path to the image file to use as the subtitle image (replaces the eote banner) /// public string subtitle; /// /// Whether this system can be warped to via the warp drive /// public bool canEnterViaWarpDrive = true; /// /// Set to `true` if you want to spawn here after dying, not Timber Hearth. You can still warp back to the main star system. /// public bool startHere; /// /// Do you want a clean slate for this star system? Or will it be a modified version of the original. /// public bool destroyStockPlanets = true; /// /// Should the time loop be enabled in this system? /// [DefaultValue(true)] public bool enableTimeLoop = true; /// /// Set to the FactID that must be revealed before it can be warped to. Don't set `CanEnterViaWarpDrive` to `false` if you're using this, that would make no sense. /// public string factRequiredForWarp; /// /// Should the player not be able to view the map in this system? /// public bool mapRestricted; /// /// [DEPRECATED] Not implemented /// public NomaiCoordinates coords; /// /// Customize the skybox for this system /// public SkyboxConfig skybox; public class NomaiCoordinates { public int[] x; public int[] y; public int[] z; } [JsonObject] public class SkyboxConfig { /// /// Path to the Unity asset bundle to load the skybox material from /// public string assetBundle; /// /// Path to the material within the asset bundle specified by `assetBundle` to use for the skybox /// public string path; /// /// Whether to destroy the star field around the player /// public bool destroyStarField; } } }