From 98fa9f03891e3dc487bee6dcb3756e6251c67aef Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 11 Mar 2018 20:45:58 -0400 Subject: update for Stardew Valley 1.3.0.5 (#453) --- src/SMAPI/Constants.cs | 2 +- src/SMAPI/Events/EventArgsGameLocationsChanged.cs | 6 +++--- .../Events/EventArgsLocationObjectsChanged.cs | 1 + src/SMAPI/Framework/GameVersion.cs | 24 ++++++++++++++-------- 4 files changed, 21 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs index 011762fb..d91fa5fb 100644 --- a/src/SMAPI/Constants.cs +++ b/src/SMAPI/Constants.cs @@ -47,7 +47,7 @@ namespace StardewModdingAPI /// The minimum supported version of Stardew Valley. public static ISemanticVersion MinimumGameVersion { get; } = #if STARDEW_VALLEY_1_3 - new GameVersion("1.3.0.2"); + new GameVersion("1.3.0.4"); #else new SemanticVersion("1.2.33"); #endif diff --git a/src/SMAPI/Events/EventArgsGameLocationsChanged.cs b/src/SMAPI/Events/EventArgsGameLocationsChanged.cs index fb8c821e..78ba38fa 100644 --- a/src/SMAPI/Events/EventArgsGameLocationsChanged.cs +++ b/src/SMAPI/Events/EventArgsGameLocationsChanged.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using StardewValley; @@ -11,7 +11,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The current list of game locations. - public List NewLocations { get; } + public IList NewLocations { get; } /********* @@ -19,7 +19,7 @@ namespace StardewModdingAPI.Events *********/ /// Construct an instance. /// The current list of game locations. - public EventArgsGameLocationsChanged(List newLocations) + public EventArgsGameLocationsChanged(IList newLocations) { this.NewLocations = newLocations; } diff --git a/src/SMAPI/Events/EventArgsLocationObjectsChanged.cs b/src/SMAPI/Events/EventArgsLocationObjectsChanged.cs index de3c31ea..180e9d78 100644 --- a/src/SMAPI/Events/EventArgsLocationObjectsChanged.cs +++ b/src/SMAPI/Events/EventArgsLocationObjectsChanged.cs @@ -1,6 +1,7 @@ using System; using Microsoft.Xna.Framework; #if STARDEW_VALLEY_1_3 +using System.Collections.Generic; using Netcode; #else using StardewValley; diff --git a/src/SMAPI/Framework/GameVersion.cs b/src/SMAPI/Framework/GameVersion.cs index c347ffba..e5022212 100644 --- a/src/SMAPI/Framework/GameVersion.cs +++ b/src/SMAPI/Framework/GameVersion.cs @@ -23,9 +23,7 @@ namespace StardewModdingAPI.Framework ["1.07"] = "1.0.7", ["1.07a"] = "1.0.8-prerelease1", ["1.08"] = "1.0.8", - ["1.11"] = "1.1.1", - ["1.3.0.1"] = "1.13-alpha.1", - ["1.3.0.2"] = "1.13-alpha.2" + ["1.11"] = "1.1.1" }; @@ -51,21 +49,31 @@ namespace StardewModdingAPI.Framework /// The game version string. private static string GetSemanticVersionString(string gameVersion) { +#if STARDEW_VALLEY_1_3 + if(gameVersion.StartsWith("1.3.0.")) + return new SemanticVersion(1, 3, 0, "alpha." + gameVersion.Substring("1.3.0.".Length)).ToString(); +#endif + return GameVersion.VersionMap.TryGetValue(gameVersion, out string semanticVersion) ? semanticVersion : gameVersion; } - /// Convert a game version string to a semantic version string. - /// The game version string. - private static string GetGameVersionString(string gameVersion) + /// Convert a semantic version string to the equivalent game version string. + /// The semantic version string. + private static string GetGameVersionString(string semanticVersion) { + #if STARDEW_VALLEY_1_3 + if(semanticVersion.StartsWith("1.3-alpha.")) + return "1.3.0." + semanticVersion.Substring("1.3-alpha.".Length); + #endif + foreach (var mapping in GameVersion.VersionMap) { - if (mapping.Value.Equals(gameVersion, StringComparison.InvariantCultureIgnoreCase)) + if (mapping.Value.Equals(semanticVersion, StringComparison.InvariantCultureIgnoreCase)) return mapping.Key; } - return gameVersion; + return semanticVersion; } } } -- cgit