From ca7107c8d3583706cb4160a654eebe44c670d77e Mon Sep 17 00:00:00 2001 From: Garry Newman Date: Sun, 2 Apr 2017 10:05:48 +0100 Subject: [PATCH] Added Client.CurrentLanguage + AvailableLanguages --- Facepunch.Steamworks.Test/Client/Client.cs | 32 ++++++++++++++++++++++ Facepunch.Steamworks/Client.cs | 14 ++++++++++ 2 files changed, 46 insertions(+) diff --git a/Facepunch.Steamworks.Test/Client/Client.cs b/Facepunch.Steamworks.Test/Client/Client.cs index 4337a39..cfbf51a 100644 --- a/Facepunch.Steamworks.Test/Client/Client.cs +++ b/Facepunch.Steamworks.Test/Client/Client.cs @@ -129,6 +129,38 @@ namespace Facepunch.Steamworks.Test } } + [TestMethod] + public void CurrentLanguage() + { + var sw = new Stopwatch(); + using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) + { + Assert.IsTrue( client.IsValid ); + Assert.IsTrue( client.CurrentLanguage != null ); + Assert.IsTrue( client.CurrentLanguage.Length > 0 ); + + Console.Write( $"CurrentLanguage: {client.CurrentLanguage}" ); + } + } + + [TestMethod] + public void AvailableLanguages() + { + var sw = new Stopwatch(); + using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) + { + Assert.IsTrue( client.IsValid ); + Assert.IsTrue( client.AvailableLanguages != null ); + Assert.IsTrue( client.AvailableLanguages.Length > 0 ); + + foreach ( var lang in client.AvailableLanguages ) + { + Console.Write( $"AvailableLanguages: {lang}" ); + } + + } + } + [TestMethod] public void Cybercafe() { diff --git a/Facepunch.Steamworks/Client.cs b/Facepunch.Steamworks/Client.cs index 1264d4b..e21ea95 100644 --- a/Facepunch.Steamworks/Client.cs +++ b/Facepunch.Steamworks/Client.cs @@ -36,6 +36,18 @@ namespace Facepunch.Steamworks /// public DirectoryInfo InstallFolder { get; private set; } + + /// + /// The currently selected language + /// + public string CurrentLanguage { get; } + + + /// + /// List of languages available to the game + /// + public string[] AvailableLanguages { get; } + public Voice Voice { get; private set; } public ServerList ServerList { get; private set; } public App App { get; private set; } @@ -79,6 +91,8 @@ namespace Facepunch.Steamworks OwnerSteamId = native.apps.GetAppOwner(); InstallFolder = new DirectoryInfo( native.apps.GetAppInstallDir( AppId ) ); BuildId = native.apps.GetAppBuildId(); + CurrentLanguage = native.apps.GetCurrentGameLanguage(); + AvailableLanguages = native.apps.GetAvailableGameLanguages().Split( new[] {';'}, StringSplitOptions.RemoveEmptyEntries ); // TODO: Assumed colon separated // // Run update, first call does some initialization