/// <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); }
/// <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); } }