Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.64 KB | None | 0 0
  1. [CreateAssetMenu(menuName = "Scriptable Objects/ Game Event")]
  2. public class GameEvent : ScriptableObject {
  3.  
  4.     private List<GameEventListener> listeners = new List<GameEventListener>();
  5.  
  6.     public void Raise()
  7.     {
  8.         for (int i = listeners.Count - 1; i >= 0; i--)
  9.         {
  10.             if(listeners[i] != null)
  11.             {
  12.                 listeners[i].OnEventRaised();
  13.             }          
  14.         }
  15.     }
  16.  
  17.     public void RegisterListener(GameEventListener listener)
  18.     {
  19.         if (listeners.Contains(listener))
  20.             return;
  21.         listeners.Add(listener);
  22.     }
  23.  
  24.     public void UnregisterListener(GameEventListener listener)
  25.     {
  26.         if (!listeners.Contains(listener))
  27.             return;
  28.         listeners.Remove(listener);
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement