summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Framework/SGame.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-03-03 20:57:52 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-03-03 20:57:52 -0500
commit4991a25d4633e146ead43872277d67685cb2e23b (patch)
treea214bf40d8fd2f228bff69e2b2a6b75a161f999f /src/StardewModdingAPI/Framework/SGame.cs
parentc3c6fa1187987d0aff50a714e64b3b3ea3820ef0 (diff)
downloadSMAPI-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.cs14
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)
{