diff --git a/PKHeX.Core/Ribbons/ISociability.cs b/PKHeX.Core/PKM/Interfaces/ISociability.cs similarity index 100% rename from PKHeX.Core/Ribbons/ISociability.cs rename to PKHeX.Core/PKM/Interfaces/ISociability.cs diff --git a/PKHeX.Core/PKM/Util/Language.cs b/PKHeX.Core/PKM/Util/Language.cs index ee678400a..44e8c21b1 100644 --- a/PKHeX.Core/PKM/Util/Language.cs +++ b/PKHeX.Core/PKM/Util/Language.cs @@ -59,41 +59,31 @@ namespace PKHeX.Core /// /// GameCube (C/XD) language ID. /// Main Series language ID. - public static byte GetMainLangIDfromGC(byte value) + /// If no conversion is possible or maps to the same value, the input is returned. + public static byte GetMainLangIDfromGC(byte value) => (LanguageGC)value switch { - if (value is <= 2 or > 7) - return value; - return (byte) GCtoMainSeries[(LanguageGC)value]; - } + LanguageGC.German => (byte)German, + LanguageGC.French => (byte)French, + LanguageGC.Italian => (byte)Italian, + LanguageGC.Spanish => (byte)Spanish, + LanguageGC.UNUSED_6 => (byte)UNUSED_6, + _ => value, + }; /// /// Gets the GameCube (C/XD) language ID from a Main Series language ID. /// /// Main Series language ID. /// GameCube (C/XD) language ID. - public static byte GetGCLangIDfromMain(byte value) + /// If no conversion is possible or maps to the same value, the input is returned. + public static byte GetGCLangIDfromMain(byte value) => (LanguageID)value switch { - if (value is <= 2 or > 7) - return value; - return (byte) MainSeriesToGC[(LanguageID)value]; - } - - private static readonly Dictionary MainSeriesToGC = new() - { - {German, LanguageGC.German}, - {French, LanguageGC.French}, - {Italian, LanguageGC.Italian}, - {Spanish, LanguageGC.Spanish}, - {UNUSED_6, LanguageGC.UNUSED_6}, - }; - - private static readonly Dictionary GCtoMainSeries = new() - { - {LanguageGC.German, German}, - {LanguageGC.French, French}, - {LanguageGC.Italian, Italian}, - {LanguageGC.Spanish, Spanish}, - {LanguageGC.UNUSED_6, UNUSED_6}, + French => (byte)LanguageGC.French, + Italian => (byte)LanguageGC.Italian, + German => (byte)LanguageGC.German, + UNUSED_6 => (byte)LanguageGC.UNUSED_6, + Spanish => (byte)LanguageGC.Spanish, + _ => value, }; } }