示例#1
0
    /**
     * Adds a callback to execute when the eventName event is triggered.
     * @string      eventName                   The event't name
     * @function    callback                    The function to execute
     * @int         insertPosition (optionnal)  The position to insert the function in the functions to execute list
     */
    public void Subscribe(string eventName, EventSubscriber_EventCallback callback, int insertPosition = INSERT_POSITION_AFTER)
    {
        string key = eventName;
        List <EventSubscriber_EventCallback> subscribedEvents = GetValue(eventName);

        if (insertPosition == INSERT_POSITION_BEFORE)
        {
            subscribedEvents.Insert(0, callback);
        }
        else if (insertPosition == INSERT_POSITION_AFTER)
        {
            subscribedEvents.Add(callback);
        }
        else
        {
            subscribedEvents.Insert(insertPosition, callback);
        }

        registeredEvents.Remove(key);
        registeredEvents.Add(key, subscribedEvents);
    }
示例#2
0
 public void SubscribeEnnemyKilledEvent(EventSubscriber_EventCallback callback)
 {
     eventSubscriber.Subscribe(ennemyKilledEvent, callback);
 }