Line 8,701: |
Line 8,701: |
| * For C# mods, fixed <samp>DescriptionElement</samp> not allowing more than four translation token substitutions. | | * For C# mods, fixed <samp>DescriptionElement</samp> not allowing more than four translation token substitutions. |
| | | |
− | ====Seasons==== | + | ====Dates & seasons==== |
| * Added a <samp>Season</samp> enum for strongly-typed, case-insensitive season checks (like <code>Game1.season == Season.Spring</code> instead of <code>Game1.currentSeason == "spring"</code>). | | * Added a <samp>Season</samp> enum for strongly-typed, case-insensitive season checks (like <code>Game1.season == Season.Spring</code> instead of <code>Game1.currentSeason == "spring"</code>). |
| * Added <samp>Game1.season</samp>, <samp>Game1.GetSeasonForLocation</samp>, <samp>Game1.WorldDate.Season</samp>, and <samp>location.GetSeason()</samp> to get the season enum. | | * Added <samp>Game1.season</samp>, <samp>Game1.GetSeasonForLocation</samp>, <samp>Game1.WorldDate.Season</samp>, and <samp>location.GetSeason()</samp> to get the season enum. |
| * Added <samp>Utility.getSeasonKey</samp> to get the key form from a season enum. | | * Added <samp>Utility.getSeasonKey</samp> to get the key form from a season enum. |
| + | * Improved <samp>WorldDate</samp>: |
| + | ** added <samp>Now()</samp> to get a new instance matching the current date; |
| + | ** added <samp>WorldDate.Equals</samp> and <samp>GetHashCode</samp> implementations; |
| + | ** added code docs; |
| + | ** <samp>TotalDays</samp> is no longer written to the save file. |
| * Renamed some members for clarity (<samp>Game1.GetSeasonForLocation</samp> → <samp>GetSeasonKeyForLocation</samp>, <samp>location.GetSeasonForLocation</samp> → <samp>GetSeasonKey</samp>, <samp>WorldDate.Season</samp> → <samp>SeasonKey</samp>). | | * Renamed some members for clarity (<samp>Game1.GetSeasonForLocation</samp> → <samp>GetSeasonKeyForLocation</samp>, <samp>location.GetSeasonForLocation</samp> → <samp>GetSeasonKey</samp>, <samp>WorldDate.Season</samp> → <samp>SeasonKey</samp>). |
| * Fixed <samp>location.GetSeasonKey()</samp> not applying the greenhouse logic. | | * Fixed <samp>location.GetSeasonKey()</samp> not applying the greenhouse logic. |