예제 #1
0
 public void UnregisterFromAllGameEvents(IGameEventListener eventListener)
 {
     foreach (var item in gameEvents)
     {
         item.UnregisterListener(eventListener);
     }
 }
예제 #2
0
 public void RegisterToAllGameEvents(IGameEventListener eventListener)
 {
     foreach (var item in gameEvents)
     {
         item.RegisterListener(eventListener);
     }
 }
예제 #3
0
 public void RemoveListener(IGameEventListener <T> listener)
 {
     if (eventListents.Contains(listener))
     {
         eventListents.Remove(listener);
     }
 }
예제 #4
0
 public void RemoveListener(IGameEventListener listener)
 {
     if (_variable != null)
     {
         _variable.RemoveListener(listener);
     }
 }
예제 #5
0
 public void UnRegisterListener(GameObject owner, IGameEventListener <T> listener)
 {
     if (listeners.ContainsValue(listener))
     {
         listeners[owner] = null;
     }
 }
예제 #6
0
 public void AddListener(IGameEventListener listener)
 {
     if (_variable != null)
     {
         _variable.AddListener(listener);
     }
 }
예제 #7
0
 public void UnregisterListener(IGameEventListener <T> l)
 {
     if (listeners.Contains(l))
     {
         listeners.Remove(l);
     }
 }
예제 #8
0
 public void UnregisterListener(IGameEventListener <T> listener)
 {
     if (eventListeners.Contains(listener))
     {
         eventListeners.Remove(listener);
     }
 }
예제 #9
0
    protected T debugValue = default;//like saying "null", but for generics

    public void AddListener(IGameEventListener <T> listener)
    {
        if (!typedListeners.Contains(listener))
        {
            typedListeners.Add(listener);
        }
    }
예제 #10
0
    //为指定事件添加监听器(添加观察者)
    public void addGameEventListener(ENUM_GameEvent emGameEvent, IGameEventListener listener)
    {
        IGameEvent gameEvent = getGameEvent(emGameEvent);

        gameEvent.addListener(listener);
        listener.setGameEvent(gameEvent);
    }
예제 #11
0
 public void RemoveListener(IGameEventListener <T> listener)
 {
     if (typedListeners.Contains(listener))
     {
         typedListeners.Remove(listener);
     }
 }
예제 #12
0
        public void RemoveListener(IGameEventListener listener, EventType eventType)
        {
            List <WeakReference> weakReferenceList;

            if (!m_listenersByEvent.TryGetValue(eventType, out weakReferenceList))
            {
                return;
            }
            int index = 0;

            for (int count = weakReferenceList.Count; index < count; ++index)
            {
                WeakReference weakReference = weakReferenceList[index];
                if (weakReference.IsAlive && weakReference.Target == listener)
                {
                    if (m_firingEventsCount == 0)
                    {
                        weakReferenceList.Remove(weakReference);
                        break;
                    }

                    m_referencesToRemove.Add(new ReferenceToRemove
                    {
                        referenceList = weakReferenceList,
                        item          = weakReference
                    });
                    break;
                }
            }
        }
예제 #13
0
 public void RegisterListener(IGameEventListener <T> l)
 {
     if (!listeners.Contains(l))
     {
         listeners.Add(l);
     }
 }
예제 #14
0
 public void RegisterListener(IGameEventListener <T> listener)
 {
     if (!eventListeners.Contains(listener))
     {
         eventListeners.Add(listener);
     }
 }
예제 #15
0
        private void PerformActionOnEvents(
            IGameEventListener whoTo,
            Action <IGameEventListener, EventType> action)
        {
            var enumerator = Enum.GetValues(typeof(EventType)).GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    EventType current = (EventType)enumerator.Current;
                    if (current != EventType.Invalid)
                    {
                        action(whoTo, current);
                    }
                }
            }
            finally
            {
                if (enumerator is IDisposable disposable)
                {
                    disposable.Dispose();
                }
            }
        }
예제 #16
0
 public void Register(IGameEventListener <T> listener)
 {
     if (_listeners.Contains(listener) == false)
     {
         _listeners.Add(listener);
     }
 }
 /// <summary>
 /// Permette di deregistrare un listener
 /// </summary>
 /// <param name="listener">Listener.</param>
 public virtual void UnregisterListener(IGameEventListener listener)
 {
     if (listeners.Contains(listener))
     {
         listeners.Remove(listener);
     }
 }
 /// <summary>
 /// Permette di registrare un listener
 /// </summary>
 public virtual void RegisterListener(IGameEventListener listener)
 {
     if (!listeners.Contains(listener))
     {
         listeners.Add(listener);
     }
 }
예제 #19
0
 public void UnregisterListener(IGameEventListener listener)
 {
     if (_lookup.TryGetValue(listener, out LinkedListNode <IGameEventListener> node))
     {
         _lookup.Remove(listener);
         _listeners.Remove(node);
     }
 }
예제 #20
0
 public void RegisterListener(IGameEventListener listener)
 {
     if (_lookup.ContainsKey(listener))
     {
         return;
     }
     _lookup[listener] = _listeners.AddLast(listener);
 }
예제 #21
0
 public void RegisterListener(IGameEventListener _listener)
 {
     if (listeners == null)
     {
         listeners = new List <IGameEventListener>();
     }
     listeners.Add(_listener);
 }
예제 #22
0
 public void UnregisterListener(IGameEventListener <T> listener)
 {
     //unregistering something, first check if it its in the list, if yes we want to unregister
     if (eventListeners.Contains(listener))
     {
         eventListeners.Remove(listener);
     }
 }
예제 #23
0
 public void RegisterListener(IGameEventListener <T> listener)
 {
     //registering something new, first check if it is already in the list, if yes we dont want to register again
     if (!eventListeners.Contains(listener))
     {
         eventListeners.Add(listener);
     }
 }
 public void RegisterListener(IGameEventListener <T> listener)
 {
     //if already in list, don't re-register
     if (!eventListeners.Contains(listener))
     {
         eventListeners.Add(listener);
     }
 }
예제 #25
0
    public void RemoveListener(object listener)
    {
        IGameEventListener castedListener = (IGameEventListener)listener;

        if (listeners.Contains(castedListener))
        {
            listeners.Remove(castedListener);
        }
    }
예제 #26
0
    public void AddListener(object listener)
    {
        IGameEventListener castedListener = (IGameEventListener)listener;

        if (!listeners.Contains(castedListener))
        {
            listeners.Add(castedListener);
        }
    }
예제 #27
0
        public void UnregisterListener(IGameEventListener listener)
        {
            if (debug)
            {
                Debug.Log($"Unregistering listener: {listener}");
            }

            listeners.Remove(listener);
        }
예제 #28
0
        public void RegisterListener(IGameEventListener <T> listener)
        {
            if (_listeners.Contains(listener))
            {
                return;
            }

            _listeners.Add(listener);
        }
예제 #29
0
        public void RegisterListener(IGameEventListener listener)
        {
            if (debug)
            {
                Debug.Log($"Registering listener: {listener}");
            }

            listeners.Add(listener);
        }
예제 #30
0
        public void UnregisterListener(IGameEventListener <T> listener)
        {
            if (!_listeners.Contains(listener))
            {
                return;
            }

            _listeners.Remove(listener);
        }
예제 #31
0
 public GameEventListenerTileManager(GameState game, IGameEventListener listener)
     : base(game, listener)
 {
     this.node.Value = listener;
 }
예제 #32
0
파일: GameOutward.cs 프로젝트: sunoru/PBO
 public void AddListner(IGameEventListener listener)
 {
     if (listener != null) listeners.Add(listener);
 }
예제 #33
0
 public void KillClientHandler()
 {
     StopCurrentAction();
     eventListener = null;
 }
예제 #34
0
 public void AddEventListener(IGameEventListener<Message> listener)
 {
     Log.debug("ActionManager got new event listener!");
     eventListener = listener;
 }
		public void RegisterListener (IGameEventListener listener)
		{
			listeners.Add (listener);
		}