using System.Collections; namespace Polonium.DataStructures.PatchableItems; public class PatchableHashSet : IEnumerable { public HashSet Data { get; set; } = new(); public void Add(T item) => Data.Add(item); public void Remove(T item) => Data.Remove(item); public void Clear() => Data.Clear(); public bool Contains(T item) => Data.Contains(item); public int Count => Data.Count; public UpdateMethods UpdateMethod { get; set; } = UpdateMethods.Update; public delegate void CustomUpdatedEventHandler(HashSet set); public event CustomUpdatedEventHandler CustomUpdated; public void CustomUpdate(HashSet set) => CustomUpdated?.Invoke(set); public IEnumerator GetEnumerator() => Data.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); }