/// <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 player to watch for. (null for any players)</param> /// <returns>A reference to the event</returns> public static OnPlayerMove Register(OnCall callback, Player target) { Logger.Log("OnPlayerMove registered to the method " + callback.Method.Name, LogType.Debug); //We add it to the list here OnPlayerMove pe = _eventQueue.Find(match => match.Player == null || match.Player.Username == target.Username); 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 OnPlayerMove(callback, target); _eventQueue.Add(pe); } return pe; }
public void CallBack(OnPlayerMove e) { MCForge.Utilities.Logger.Log("Test: " + e.Player.Username + " moved!"); e.Player.SendMessage("Hi!"); e.Unregister(); }
/// <summary> /// Unregisters the specific event /// </summary> /// <param name="pe">The event to unregister</param> public static void Unregister(OnPlayerMove pe) { pe.Unregister(); }