/// <summary> /// Used to register a method to be executed when the event is fired. /// </summary> /// <param name="callback">The method to call</param> /// <param name="target">The level to watch for. (null for any level)</param> /// <returns>A reference to the event</returns> public static OnLevelSave Register(OnCall callback, Level target) { Logger.Log("OnLevelSave registered to the method " + callback.Method.Name, LogType.Debug); //We add it to the list here OnLevelSave pe = _eventQueue.Find(match => match.level == null); if (pe != null) //It already exists, so we just add it to the queue. pe._queue += callback; else { //Doesn't exist yet. Make a new one. pe = new OnLevelSave(callback, target); _eventQueue.Add(pe); } return pe; }
/// <summary> /// Unregisters the specific event /// </summary> /// <param name="pe">The event to unregister</param> public static void Unregister(OnLevelSave pe) { pe.Unregister(); }