Ejemplo n.º 1
0
        /// <summary>
        /// Unregisters the given listeners action.
        /// </summary>
        public void UnregisterEvent(IInputActionListener listener, Action <InputEventArgs> action)
        {
            string actionName            = action.Method.Name;
            List <ListenerInfo> infoList = ListenerDictionary[actionName];

            infoList.RemoveAll(info => info.ActionListener == listener && info.Action.Method.Name == actionName);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Registers an action event to input.
        /// </summary>
        /// <param name="listener">The listener owning the action.</param>
        /// <param name="action">The action method which will be called.</param>
        public void RegisterEvent(IInputActionListener listener, Action <InputEventArgs> action)
        {
            string actionName = action.Method.Name;

            if (ListenerDictionary.ContainsKey(actionName) == false)
            {
                ListenerDictionary.Add(actionName, new List <ListenerInfo>());
            }

            List <ListenerInfo> infoList = ListenerDictionary[actionName];

            infoList.Add(new ListenerInfo(listener, action));
            infoList.Sort((l1, l2) => l1.ActionListener.Priority.CompareTo(l2.ActionListener.Priority) * -1);
        }
Ejemplo n.º 3
0
 public ListenerInfo(IInputActionListener actionListener, Action <InputEventArgs> action)
 {
     ActionListener = actionListener;
     Action         = action;
 }