diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-06-01 23:16:42 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-06-01 23:16:42 -0400 |
commit | 92006bd6ed20365f1ded4bd07387b0ba9ed0ff92 (patch) | |
tree | 0827ba985a2221577d8c4209f82a94748cae4612 /src/SMAPI/Events | |
parent | a2523696fd539621351c178f6ff57ade19dd3e34 (diff) | |
download | SMAPI-92006bd6ed20365f1ded4bd07387b0ba9ed0ff92.tar.gz SMAPI-92006bd6ed20365f1ded4bd07387b0ba9ed0ff92.tar.bz2 SMAPI-92006bd6ed20365f1ded4bd07387b0ba9ed0ff92.zip |
add large terrain feature list changed event (#310)
Diffstat (limited to 'src/SMAPI/Events')
-rw-r--r-- | src/SMAPI/Events/IWorldEvents.cs | 5 | ||||
-rw-r--r-- | src/SMAPI/Events/WorldLargeTerrainFeatureListChangedEventArgs.cs | 39 |
2 files changed, 43 insertions, 1 deletions
diff --git a/src/SMAPI/Events/IWorldEvents.cs b/src/SMAPI/Events/IWorldEvents.cs index ce288ae1..6a43baf2 100644 --- a/src/SMAPI/Events/IWorldEvents.cs +++ b/src/SMAPI/Events/IWorldEvents.cs @@ -14,13 +14,16 @@ namespace StardewModdingAPI.Events /// <summary>Raised after buildings are added or removed in a location.</summary> event EventHandler<WorldBuildingListChangedEventArgs> BuildingListChanged; + /// <summary>Raised after large terrain features (like bushes) are added or removed in a location.</summary> + event EventHandler<WorldLargeTerrainFeatureListChangedEventArgs> LargeTerrainFeatureListChanged; + /// <summary>Raised after NPCs are added or removed in a location.</summary> event EventHandler<WorldNpcListChangedEventArgs> NpcListChanged; /// <summary>Raised after objects are added or removed in a location.</summary> event EventHandler<WorldObjectListChangedEventArgs> ObjectListChanged; - /// <summary>Raised after terrain features are added or removed in a location.</summary> + /// <summary>Raised after terrain features (like floors and trees) are added or removed in a location.</summary> event EventHandler<WorldTerrainFeatureListChangedEventArgs> TerrainFeatureListChanged; } } diff --git a/src/SMAPI/Events/WorldLargeTerrainFeatureListChangedEventArgs.cs b/src/SMAPI/Events/WorldLargeTerrainFeatureListChangedEventArgs.cs new file mode 100644 index 00000000..053a0e41 --- /dev/null +++ b/src/SMAPI/Events/WorldLargeTerrainFeatureListChangedEventArgs.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using StardewValley; +using StardewValley.TerrainFeatures; + +namespace StardewModdingAPI.Events +{ + /// <summary>Event arguments for a <see cref="IWorldEvents.LargeTerrainFeatureListChanged"/> event.</summary> + public class WorldLargeTerrainFeatureListChangedEventArgs : EventArgs + { + /********* + ** Accessors + *********/ + /// <summary>The location which changed.</summary> + public GameLocation Location { get; } + + /// <summary>The large terrain features added to the location.</summary> + public IEnumerable<LargeTerrainFeature> Added { get; } + + /// <summary>The large terrain features removed from the location.</summary> + public IEnumerable<LargeTerrainFeature> Removed { get; } + + + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + /// <param name="location">The location which changed.</param> + /// <param name="added">The large terrain features added to the location.</param> + /// <param name="removed">The large terrain features removed from the location.</param> + public WorldLargeTerrainFeatureListChangedEventArgs(GameLocation location, IEnumerable<LargeTerrainFeature> added, IEnumerable<LargeTerrainFeature> removed) + { + this.Location = location; + this.Added = added.ToArray(); + this.Removed = removed.ToArray(); + } + } +} |