using System; using System.Collections.Generic; namespace VRM.FastSpringBones.Registries { public class Registry { private readonly List _items = new List(); private Action _onValueChanged; public IReadOnlyList Items => _items; public void Register(T value) { _items.Add(value); _onValueChanged?.Invoke(); } public void Unregister(T value) { _items.Remove(value); _onValueChanged?.Invoke(); } public void SubscribeOnValueChanged(Action action) => _onValueChanged += action; public void UnSubscribeOnValueChanged(Action action) => _onValueChanged -= action; } }