refactor: change client language to internal

This commit is contained in:
kalilistic 2021-04-04 08:21:01 -04:00
parent 9cf3fd42ed
commit 09e651b3ab

View file

@ -19,6 +19,11 @@ namespace Dalamud.Data
/// </summary> /// </summary>
public class DataManager : IDisposable public class DataManager : IDisposable
{ {
/// <summary>
/// The current game client language.
/// </summary>
internal ClientLanguage Language;
private const string IconFileFormat = "ui/icon/{0:D3}000/{1}{2:D6}.tex"; private const string IconFileFormat = "ui/icon/{0:D3}000/{1}{2:D6}.tex";
/// <summary> /// <summary>
@ -26,8 +31,6 @@ namespace Dalamud.Data
/// </summary> /// </summary>
private Lumina.GameData gameData; private Lumina.GameData gameData;
private ClientLanguage language;
private Thread luminaResourceThread; private Thread luminaResourceThread;
/// <summary> /// <summary>
@ -39,7 +42,7 @@ namespace Dalamud.Data
// Set up default values so plugins do not null-reference when data is being loaded. // Set up default values so plugins do not null-reference when data is being loaded.
this.ServerOpCodes = new ReadOnlyDictionary<string, ushort>(new Dictionary<string, ushort>()); this.ServerOpCodes = new ReadOnlyDictionary<string, ushort>(new Dictionary<string, ushort>());
this.language = language; this.Language = language;
} }
/// <summary> /// <summary>
@ -94,14 +97,14 @@ namespace Dalamud.Data
PanicOnSheetChecksumMismatch = false, PanicOnSheetChecksumMismatch = false,
#endif #endif
DefaultExcelLanguage = this.language switch { DefaultExcelLanguage = this.Language switch {
ClientLanguage.Japanese => Language.Japanese, ClientLanguage.Japanese => Lumina.Data.Language.Japanese,
ClientLanguage.English => Language.English, ClientLanguage.English => Lumina.Data.Language.English,
ClientLanguage.German => Language.German, ClientLanguage.German => Lumina.Data.Language.German,
ClientLanguage.French => Language.French, ClientLanguage.French => Lumina.Data.Language.French,
_ => throw new ArgumentOutOfRangeException( _ => throw new ArgumentOutOfRangeException(
nameof(this.language), nameof(this.Language),
"Unknown Language: " + this.language), "Unknown Language: " + this.Language),
}, },
}; };
@ -156,11 +159,11 @@ namespace Dalamud.Data
public ExcelSheet<T> GetExcelSheet<T>(ClientLanguage language) where T : ExcelRow public ExcelSheet<T> GetExcelSheet<T>(ClientLanguage language) where T : ExcelRow
{ {
var lang = language switch { var lang = language switch {
ClientLanguage.Japanese => Language.Japanese, ClientLanguage.Japanese => Lumina.Data.Language.Japanese,
ClientLanguage.English => Language.English, ClientLanguage.English => Lumina.Data.Language.English,
ClientLanguage.German => Language.German, ClientLanguage.German => Lumina.Data.Language.German,
ClientLanguage.French => Language.French, ClientLanguage.French => Lumina.Data.Language.French,
_ => throw new ArgumentOutOfRangeException(nameof(this.language), "Unknown Language: " + this.language) _ => throw new ArgumentOutOfRangeException(nameof(this.Language), "Unknown Language: " + this.Language)
}; };
return this.Excel.GetSheet<T>(lang); return this.Excel.GetSheet<T>(lang);
} }
@ -207,7 +210,7 @@ namespace Dalamud.Data
/// <returns>The <see cref="TexFile"/> containing the icon.</returns> /// <returns>The <see cref="TexFile"/> containing the icon.</returns>
public TexFile GetIcon(int iconId) public TexFile GetIcon(int iconId)
{ {
return this.GetIcon(this.language, iconId); return this.GetIcon(this.Language, iconId);
} }
/// <summary> /// <summary>
@ -223,7 +226,7 @@ namespace Dalamud.Data
ClientLanguage.English => "en/", ClientLanguage.English => "en/",
ClientLanguage.German => "de/", ClientLanguage.German => "de/",
ClientLanguage.French => "fr/", ClientLanguage.French => "fr/",
_ => throw new ArgumentOutOfRangeException(nameof(this.language), "Unknown Language: " + this.language) _ => throw new ArgumentOutOfRangeException(nameof(this.Language), "Unknown Language: " + this.Language)
}; };
return this.GetIcon(type, iconId); return this.GetIcon(type, iconId);