Files
Polonium/src/DataStructures/PatchableItems/PatchableHashSet.cs

24 lines
837 B
C#

using System.Collections;
namespace Polonium.DataStructures.PatchableItems;
public class PatchableHashSet<T> : IEnumerable<T>
{
public HashSet<T> 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<T> set);
public event CustomUpdatedEventHandler CustomUpdated;
public void CustomUpdate(HashSet<T> set) => CustomUpdated?.Invoke(set);
public IEnumerator<T> GetEnumerator() => Data.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}