using Robust.Shared; using Robust.Shared.Utility; namespace Robust.Client { public sealed class GameControllerOptions { /// /// Whether content sandboxing will be enabled & enforced. /// public bool Sandboxing { get; init; } = true; // TODO: Expose mounting methods to games using Robust as a library. /// /// Lists of mount options to mount. /// public MountOptions MountOptions { get; init; } = new(); /// /// Name the userdata directory will have. /// public string UserDataDirectoryName { get; init; } = "Space Station 14"; /// /// Name of the configuration file in the user data directory. /// public string ConfigFileName { get; init; } = "client_config.toml"; // TODO: Define engine branding from json file in resources. /// /// Default window title. /// /// /// Defaults to RobustToolbox if unset. /// public string? DefaultWindowTitle { get; init; } /// /// Assemblies with this prefix will be loaded. /// /// /// Defaults to Content. if unset. /// public string? ContentModulePrefix { get; init; } /// /// Name of the content build directory, for game pack mounting purposes. /// public string ContentBuildDirectory { get; init; } = "Content.Client"; /// /// Directory to load all assemblies from. /// public ResPath AssemblyDirectory { get; init; } = new(@"/Assemblies/"); /// /// Directory to load all prototypes from. /// public ResPath PrototypeDirectory { get; init; } = new(@"/Prototypes/"); /// /// Directory resource path containing window icons to load. /// public ResPath? WindowIconSet { get; init; } /// /// Resource path for splash image to show when the game starts up. /// public ResPath? SplashLogo { get; init; } /// /// Whether to disable mounting the "Resources/" folder on FULL_RELEASE. /// public bool ResourceMountDisabled { get; init; } = false; /// /// Whether to mount content resources when not on FULL_RELEASE. /// public bool LoadContentResources { get; init; } = true; /// /// Whether to load config and user data. /// public bool LoadConfigAndUserData { get; init; } = true; } }