Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [CreateAssetMenu(menuName = "Scriptable Objects/ Game Event")]
- public class GameEvent : ScriptableObject {
- private List<GameEventListener> listeners = new List<GameEventListener>();
- public void Raise()
- {
- for (int i = listeners.Count - 1; i >= 0; i--)
- {
- if(listeners[i] != null)
- {
- listeners[i].OnEventRaised();
- }
- }
- }
- public void RegisterListener(GameEventListener listener)
- {
- if (listeners.Contains(listener))
- return;
- listeners.Add(listener);
- }
- public void UnregisterListener(GameEventListener listener)
- {
- if (!listeners.Contains(listener))
- return;
- listeners.Remove(listener);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement