コード例 #1
0
 internal static void CheckForEventRemoval(string eventName, List <InvokableActionBase> actions)
 {
     if (actions.Count == 0)
     {
         GlobalEventTable.Remove(eventName);
     }
 }
コード例 #2
0
        internal static List <InvokableActionBase> GetActionsByName(string eventName)
        {
            if (GlobalEventTable.TryGetValue(eventName, out List <InvokableActionBase> actions))
            {
                return(actions);
            }

            return(null);
        }
コード例 #3
0
        private static void DomainReset()
        {
            if (GlobalEventTable != null)
            {
                GlobalEventTable.Clear();
            }

            if (EventTable != null)
            {
                EventTable.Clear();
            }
        }
コード例 #4
0
        /// <summary>
        /// Reset the system. Removes all events.
        /// </summary>
        public static void Clear()
        {
            if (GlobalEventTable != null)
            {
                GlobalEventTable.Clear();
            }

            if (EventTable != null)
            {
                EventTable.Clear();
            }
        }
コード例 #5
0
 internal static void SubscribeInternal(string eventName, InvokableActionBase action)
 {
     if (GlobalEventTable.TryGetValue(eventName, out List <InvokableActionBase> actions))
     {
         actions.Add(action);
     }
     else
     {
         actions = new List <InvokableActionBase>();
         actions.Add(action);
         GlobalEventTable.Add(eventName, actions);
     }
 }