UnSubscribeChainEventOnDestroyTrigger.cs 628 B

12345678910111213141516171819202122
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. namespace Blue
  4. {
  5. public class UnSubscribeChainEventOnDestroyTrigger : MonoBehaviour
  6. {
  7. private HashSet<IChainEventUnSubscribe> unSubscribes = new HashSet<IChainEventUnSubscribe>();
  8. public void AddUnSubscribe(IChainEventUnSubscribe unSubscribe)
  9. {
  10. unSubscribes.Add(unSubscribe);
  11. }
  12. private void OnDestroy()
  13. {
  14. foreach (var item in unSubscribes)
  15. {
  16. item.UnSubscribeAllEventsOnChain();
  17. }
  18. unSubscribes.Clear();
  19. }
  20. }
  21. }