Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using UnityEngine;
- namespace GameCore
- {
- [CreateAssetMenu(fileName = "GameEventGameObject", menuName = "GameCore/GameEvent/GameObject")]
- public class GameEventGameObject : ScriptableObject
- {
- [SerializeField]
- public List<GameEventListenerGameObject> eventListeners = new List<GameEventListenerGameObject>();
- public void Raise(GameObject arg)
- {
- for (int i = eventListeners.Count - 1; i >= 0; i--)
- if (i < eventListeners.Count)
- eventListeners[i].OnEventRaised(arg);
- }
- public virtual void RegisterListener(GameEventListenerGameObject listener)
- {
- if (!eventListeners.Contains(listener))
- eventListeners.Add(listener);
- }
- public virtual void UnRegisterListener(GameEventListenerGameObject listener)
- {
- if (eventListeners.Contains(listener))
- eventListeners.Remove(listener);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement