예제 #1
0
            private void AddInternal(UpdateDelegate update, bool ignoreBehaviour, int priority, bool unscaled)
            {
                if (update == null)
                {
                    return;
                }
                int key = update.GetHashCode();

                if (mUpdaters.ContainsKey(key) || mNewUpdaters.Contains(key))
                {
                    return;
                }
                MonoBehaviour behaviour = ignoreBehaviour ? null : update.Target as MonoBehaviour;
                UpdateItem    updater   = UpdateItem.Get(key, priority, unscaled, behaviour, update);

                if (mUpdating)
                {
                    mToAddUpdaters.Add(updater);
                }
                else
                {
                    mNewUpdaters.Enqueue(key, updater, priority);
                }
            }