using System; using Dalamud.Game; using Newtonsoft.Json; namespace Dalamud { /// /// Struct containing information needed to initialize Dalamud. /// [Serializable] public record DalamudStartInfo { /// /// Gets or sets the working directory of the XIVLauncher installations. /// public string WorkingDirectory { get; set; } /// /// Gets the path to the configuration file. /// public string ConfigurationPath { get; init; } /// /// Gets the path to the directory for installed plugins. /// public string PluginDirectory { get; init; } /// /// Gets the path to the directory for developer plugins. /// public string DefaultPluginDirectory { get; init; } /// /// Gets the path to core Dalamud assets. /// public string AssetDirectory { get; init; } /// /// Gets the language of the game client. /// public ClientLanguage Language { get; init; } = ClientLanguage.English; /// /// Gets the current game version code. /// [JsonConverter(typeof(GameVersionConverter))] public GameVersion GameVersion { get; init; } /// /// Gets a value that specifies how much to wait before a new Dalamud session. /// public int DelayInitializeMs { get; init; } = 0; } }