From 47ac918e4657004951b2eeca237b7d107e8136c4 Mon Sep 17 00:00:00 2001 From: Raymond Date: Mon, 9 Aug 2021 12:01:03 -0400 Subject: [PATCH] ClientLanguageExtensions and usage --- Dalamud/ClientLanguageExtensions.cs | 27 +++++++++++++++++++++++++++ Dalamud/Data/DataManager.cs | 21 ++------------------- 2 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 Dalamud/ClientLanguageExtensions.cs diff --git a/Dalamud/ClientLanguageExtensions.cs b/Dalamud/ClientLanguageExtensions.cs new file mode 100644 index 000000000..dccefb93f --- /dev/null +++ b/Dalamud/ClientLanguageExtensions.cs @@ -0,0 +1,27 @@ +using System; + +namespace Dalamud +{ + /// + /// Extension methods for the class. + /// + public static class ClientLanguageExtensions + { + /// + /// Converts a Dalamud ClientLanguage to the corresponding Lumina variant. + /// + /// Langauge to convert. + /// Converted langauge. + public static Lumina.Data.Language ToLumina(this ClientLanguage language) + { + return language switch + { + ClientLanguage.Japanese => Lumina.Data.Language.Japanese, + ClientLanguage.English => Lumina.Data.Language.English, + ClientLanguage.German => Lumina.Data.Language.German, + ClientLanguage.French => Lumina.Data.Language.French, + _ => throw new ArgumentOutOfRangeException(nameof(language)), + }; + } + } +} diff --git a/Dalamud/Data/DataManager.cs b/Dalamud/Data/DataManager.cs index 006dfcd27..f28a56e69 100644 --- a/Dalamud/Data/DataManager.cs +++ b/Dalamud/Data/DataManager.cs @@ -95,15 +95,7 @@ namespace Dalamud.Data /// The , giving access to game rows. public ExcelSheet GetExcelSheet(ClientLanguage language) where T : ExcelRow { - var lang = language switch - { - ClientLanguage.Japanese => Lumina.Data.Language.Japanese, - ClientLanguage.English => Lumina.Data.Language.English, - ClientLanguage.German => Lumina.Data.Language.German, - ClientLanguage.French => Lumina.Data.Language.French, - _ => throw new ArgumentOutOfRangeException(nameof(language), $"Unknown Language: {language}"), - }; - return this.Excel.GetSheet(lang); + return this.Excel.GetSheet(language.ToLumina()); } /// @@ -262,21 +254,12 @@ namespace Dalamud.Data var luminaOptions = new LuminaOptions { CacheFileResources = true, - #if DEBUG PanicOnSheetChecksumMismatch = true, #else PanicOnSheetChecksumMismatch = false, #endif - - DefaultExcelLanguage = this.Language switch - { - ClientLanguage.Japanese => Lumina.Data.Language.Japanese, - ClientLanguage.English => Lumina.Data.Language.English, - ClientLanguage.German => Lumina.Data.Language.German, - ClientLanguage.French => Lumina.Data.Language.French, - _ => throw new ArgumentOutOfRangeException(nameof(this.Language), $"Unknown Language: {this.Language}"), - }, + DefaultExcelLanguage = this.Language.ToLumina(), }; var processModule = Process.GetCurrentProcess().MainModule;