/// <summary> /// Safe method for removing a listener without needing to test whether a gamemanager is setup. /// </summary> /// <param name="msg"></param> /// <returns></returns> public static void SafeRemoveListener <T>(Messenger.MessageListenerDelegate handler) where T : BaseMessage { if (!IsActive || Messenger == null) { return; } Messenger.RemoveListener <T>(handler); }
/// <summary> /// Shortcut and safe method for removing a listener without needing to test whether a gamemanager is setup. /// </summary> /// <param name="messageType"></param> /// <param name="handler"></param> /// <returns></returns> public static bool SafeRemoveListener(Type messageType, Messenger.MessageListenerDelegate handler) { if (!IsActive || Messenger == null) { return(false); } Messenger.RemoveListener(messageType, handler); return(true); }
/// <summary> /// Shortcut and safe method for removing a listener without needing to test whether a gamemanager is setup. /// </summary> /// <param name="handler"></param> /// <returns></returns> public static bool SafeRemoveListener <T>(Messenger.MessageListenerDelegate handler) where T : BaseMessage { if (!IsActive || Messenger == null) { return(false); } Messenger.RemoveListener <T>(handler); return(true); }
/// <summary> /// Remove GameCondition listeners. /// </summary> /// <returns></returns> public static void RemoveListeners(IEnumerable <GameConditionReference> gameConditionReferences, Messenger.MessageListenerDelegate handler) { System.Type[] listeningMessageTypes = GetListeningMessages(gameConditionReferences); foreach (var type in listeningMessageTypes) { GameManager.SafeRemoveListener(type, handler); } }