Ejemplo n.º 1
0
    /**********************************************************************************************/
    /* PUBLIC METHODS                                                                             */
    /**********************************************************************************************/

    #region PUBLIC_METHODS

    ///<summary>
    ///
    /// </summary>
    public void AddHandler(GameEvent.GameEventType type, EventHandler handler)
    {
        if (!_eventHandlers.ContainsKey(type))
        {
            _eventHandlers.Add(type, new List <EventHandler>());
        }
        _eventHandlers [type].Add(handler);
    }
Ejemplo n.º 2
0
    ///<summary>
    ///
    /// </summary>
    public void DeleteHandler(GameEvent.GameEventType type, EventHandler handler)
    {
        List <EventHandler> handlers = _eventHandlers [type];

        if (handlers != null)
        {
            handlers.Remove(handler);
        }
    }
Ejemplo n.º 3
0
    public void SendEvent(GameEvent gameEvent)
    {
        GameEvent.GameEventType gameEventType =
            gameEvent.EventType;
        List <GameEventReceiver> currentReceivers =
            EventReceiverMap[gameEventType];

        foreach (GameEventReceiver receiver in currentReceivers)
        {
            receiver.ReactToEvent(gameEvent);
        }
    }
Ejemplo n.º 4
0
    public void BindWithEvent(
        GameEventReceiver receiver,
        GameEvent.GameEventType gameEventType)
    {
        List <GameEventReceiver> currentReceivers =
            EventReceiverMap[gameEventType];

        if (!currentReceivers.Contains(receiver))
        {
            currentReceivers.Add(receiver);
        }
    }