Пример #1
0
        public Record(object target, object state, ApplyCallback applyCallback, PurgeCallback purgeCallback)
        {
            if (applyCallback == null)
            {
                throw new System.ArgumentNullException("callback");
            }

            m_target        = target;
            m_applyCallback = applyCallback;
            m_purgeCallback = purgeCallback;
            if (state != null)
            {
                m_state = state;
            }
        }
Пример #2
0
        public static void RecordObject(object target, object state, ApplyCallback applyCallback, PurgeCallback purgeCallback = null)
        {
            if (!Enabled)
            {
                return;
            }

            if (purgeCallback == null)
            {
                purgeCallback = record => { };
            }

            if (m_group != null)
            {
                m_group.Add(new Record(target, state, applyCallback, purgeCallback));
            }
            else
            {
                Record[] purgeItems = m_stack.Push(new[] { new Record(target, state, applyCallback, purgeCallback) });
                if (purgeItems != null)
                {
                    for (int i = 0; i < purgeItems.Length; ++i)
                    {
                        purgeItems[i].Purge();
                    }
                }

                if (StateChanged != null)
                {
                    StateChanged();
                }
            }
        }
Пример #3
0
 public void RecordObject(object target, object state, ApplyCallback applyCallback, PurgeCallback purgeCallback = null)
 {
 }