using System; using System.Collections.Generic; using System.Linq; using StardewValley; namespace StardewModdingAPI.Events { /// Event arguments for a event. public class NpcListChangedEventArgs : EventArgs { /********* ** Accessors *********/ /// The location which changed. public GameLocation Location { get; } /// The NPCs added to the location. public IEnumerable Added { get; } /// The NPCs removed from the location. public IEnumerable Removed { get; } /// Whether this is the location containing the local player. public bool IsCurrentLocation => object.ReferenceEquals(this.Location, Game1.player?.currentLocation); /********* ** Public methods *********/ /// Construct an instance. /// The location which changed. /// The NPCs added to the location. /// The NPCs removed from the location. internal NpcListChangedEventArgs(GameLocation location, IEnumerable added, IEnumerable removed) { this.Location = location; this.Added = added.ToArray(); this.Removed = removed.ToArray(); } } }