Pro_Unit

GameEvent

Dec 22nd, 2018
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.71 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3.  
  4. [CreateAssetMenu]
  5. public class GameEvent : ScriptableObject
  6. {
  7.     [SerializeField]
  8.     List<EventListener> eventListeners = new List<EventListener> ();
  9.  
  10.     public void Raise ()
  11.     {
  12.         for (int i = eventListeners.Count - 1; i >= 0; i--)
  13.             eventListeners[i].OnEventRaised ();
  14.     }
  15.  
  16.     public virtual void RegisterListener (EventListener listener)
  17.     {
  18.         if (!eventListeners.Contains (listener))
  19.             eventListeners.Add (listener);
  20.     }
  21.  
  22.     public virtual void UnRegisterListener (EventListener listener)
  23.     {
  24.         if (eventListeners.Contains (listener))
  25.             eventListeners.Remove (listener);
  26.     }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment