using System; namespace StardewModdingAPI.Framework.StateTracking { /// A watcher which detects changes to something. internal interface IWatcher : IDisposable { /********* ** Accessors *********/ /// A name which identifies what the watcher is watching, used for troubleshooting. string Name { get; } /// Whether the value changed since the last reset. bool IsChanged { get; } /********* ** Methods *********/ /// Update the current value if needed. void Update(); /// Set the current value as the baseline. void Reset(); } }