diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-03-03 20:57:52 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-03-03 20:57:52 -0500 |
commit | 4991a25d4633e146ead43872277d67685cb2e23b (patch) | |
tree | a214bf40d8fd2f228bff69e2b2a6b75a161f999f /src/StardewModdingAPI/Framework/SGame.cs | |
parent | c3c6fa1187987d0aff50a714e64b3b3ea3820ef0 (diff) | |
download | SMAPI-4991a25d4633e146ead43872277d67685cb2e23b.tar.gz SMAPI-4991a25d4633e146ead43872277d67685cb2e23b.tar.bz2 SMAPI-4991a25d4633e146ead43872277d67685cb2e23b.zip |
add content language changed event (#243)
Diffstat (limited to 'src/StardewModdingAPI/Framework/SGame.cs')
-rw-r--r-- | src/StardewModdingAPI/Framework/SGame.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/StardewModdingAPI/Framework/SGame.cs b/src/StardewModdingAPI/Framework/SGame.cs index aa22d572..5edb103e 100644 --- a/src/StardewModdingAPI/Framework/SGame.cs +++ b/src/StardewModdingAPI/Framework/SGame.cs @@ -159,6 +159,9 @@ namespace StardewModdingAPI.Framework /// <summary>The player character at last check.</summary> public SFarmer PreviousFarmer { get; private set; } + /// <summary>The previous content locale.</summary> + public LocalizedContentManager.LanguageCode? PreviousLocale { get; private set; } + /// <summary>An index incremented on every tick and reset every 60th tick (0–59).</summary> public int CurrentUpdateTick { get; private set; } @@ -1079,6 +1082,17 @@ namespace StardewModdingAPI.Framework /// <summary>Detect changes since the last update ticket and trigger mod events.</summary> private void UpdateEventCalls() { + // content locale changed event + if (this.PreviousLocale != LocalizedContentManager.CurrentLanguageCode) + { + var oldValue = this.PreviousLocale; + var newValue = LocalizedContentManager.CurrentLanguageCode; + + if (oldValue != null) + ContentEvents.InvokeAfterLocaleChanged(this.Monitor, oldValue.ToString(), newValue.ToString()); + this.PreviousLocale = newValue; + } + // save loaded event if (Game1.hasLoadedGame && !SaveGame.IsProcessing/*still loading save*/ && this.AfterLoadTimer >= 0) { |