Пример #1
0
    /// <summary>
    /// Registers the event specified by name
    /// </summary>
    public static void Register(string name, vp_GlobalCallbackReturn <R> callback)
    {
        if (string.IsNullOrEmpty(name))
        {
            throw new ArgumentNullException(@"name");
        }

        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        List <vp_GlobalCallbackReturn <R> > callbacks = (List <vp_GlobalCallbackReturn <R> >)m_Callbacks[name];

        if (callbacks == null)
        {
            callbacks = new List <vp_GlobalCallbackReturn <R> >();
            m_Callbacks.Add(name, callbacks);
        }
        callbacks.Add(callback);
    }
Пример #2
0
    /// <summary>
    /// Unregisters the event specified by name
    /// </summary>
    public static void Unregister(string name, vp_GlobalCallbackReturn <R> callback)
    {
        if (string.IsNullOrEmpty(name))
        {
            throw new ArgumentNullException(@"name");
        }

        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        List <vp_GlobalCallbackReturn <R> > callbacks = (List <vp_GlobalCallbackReturn <R> >)m_Callbacks[name];

        if (callbacks != null)
        {
            callbacks.Remove(callback);
        }
        else
        {
            throw vp_GlobalEventInternal.ShowUnregisterException(name);
        }
    }