using System;
using System.Collections.Generic;
namespace StardewModdingAPI.Framework.StateTracking.FieldWatchers
{
/// A collection watcher which never changes.
/// The value type within the collection.
internal class ImmutableCollectionWatcher : BaseDisposableWatcher, ICollectionWatcher
{
/*********
** Accessors
*********/
/// A singleton collection watcher instance.
public static ImmutableCollectionWatcher Instance { get; } = new();
/// Whether the collection changed since the last reset.
public bool IsChanged { get; } = false;
/// The values added since the last reset.
public IEnumerable Added { get; } = Array.Empty();
/// The values removed since the last reset.
public IEnumerable Removed { get; } = Array.Empty();
/*********
** Public methods
*********/
/// Update the current value if needed.
public void Update() { }
/// Set the current value as the baseline.
public void Reset() { }
/// Stop watching the field and release all references.
public override void Dispose() { }
}
}