using System; using static Ryujinx.Ui.Common.Configuration.ConfigurationState.UiSection; namespace Ryujinx.Ui.Common { public static class FileTypesExtensions { /// /// Gets the current value for the correlating FileType name. /// /// The name of the parameter to get the value of. /// The config instance to get the value from. /// The current value of the setting. Value is if the file type is the be shown on the games list, otherwise. public static bool GetConfigValue(this FileTypes type, ShownFileTypeSettings config) => type switch { FileTypes.NSP => config.NSP.Value, FileTypes.PFS0 => config.PFS0.Value, FileTypes.XCI => config.XCI.Value, FileTypes.NCA => config.NCA.Value, FileTypes.NRO => config.NRO.Value, FileTypes.NSO => config.NSO.Value, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null) }; } }