using System.Collections.Generic; using System.Numerics; namespace Questionable.Model; public static class ExpansionData { public static IReadOnlyDictionary ExpansionFolders = new Dictionary { { EExpansionVersion.ARealmReborn, "2.x - A Realm Reborn" }, { EExpansionVersion.Heavensward, "3.x - Heavensward" }, { EExpansionVersion.Stormblood, "4.x - Stormblood" }, { EExpansionVersion.Shadowbringers, "5.x - Shadowbringers" }, { EExpansionVersion.Endwalker, "6.x - Endwalker" }, { EExpansionVersion.Dawntrail, "7.x - Dawntrail" } }; public static string ToFriendlyString(this EExpansionVersion expansionVersion) { if (expansionVersion == EExpansionVersion.ARealmReborn) { return "A Realm Reborn"; } return expansionVersion.ToString(); } public static string ToAbbreviation(this EExpansionVersion expansionVersion) { return expansionVersion switch { EExpansionVersion.ARealmReborn => "ARR", EExpansionVersion.Heavensward => "HW", EExpansionVersion.Stormblood => "SB", EExpansionVersion.Shadowbringers => "ShB", EExpansionVersion.Endwalker => "EW", EExpansionVersion.Dawntrail => "DT", _ => "?", }; } public static Vector4 GetExpansionColor(this EExpansionVersion expansionVersion) { return expansionVersion switch { EExpansionVersion.ARealmReborn => new Vector4(0.7f, 0.7f, 0.7f, 1f), EExpansionVersion.Heavensward => new Vector4(0.4f, 0.6f, 0.9f, 1f), EExpansionVersion.Stormblood => new Vector4(0.9f, 0.3f, 0.3f, 1f), EExpansionVersion.Shadowbringers => new Vector4(0.5f, 0.4f, 0.7f, 1f), EExpansionVersion.Endwalker => new Vector4(0.8f, 0.8f, 0.4f, 1f), EExpansionVersion.Dawntrail => new Vector4(0.3f, 0.8f, 0.5f, 1f), _ => new Vector4(0.5f, 0.5f, 0.5f, 1f), }; } }