예제 #1
0
        public void registerForAll(T action, Action <Object> func, ActorSelector selector)
        {
            callbacks[action].Add(func);
            SelectorStore <T> .get._selectors[action].Add(func, selector);

            // Find all already existing gameobjects of this type
            UnityEngine.Object[] alreadyExistingActors = UnityEngine.Object.FindObjectsOfType(typeof(SubscribableActor <T, S>));
            foreach (UnityEngine.Object obj in alreadyExistingActors)
            {
                var actor = (SubscribableActor <T, S>)obj;

                if (selector.registerCondition(actor.gameObject))
                {
                    actor.register(action, func);
                }
            }
        }