예제 #1
0
        void AddBeginProcessEvent(EventBase evt, IEventHandler mouseCapture)
        {
            var dbgObject = new EventDebuggerTrace(panel, evt, -1, mouseCapture);
            Stack <EventDebuggerTrace> stack;

            if (m_StackOfProcessedEvent.ContainsKey(panel))
            {
                stack = m_StackOfProcessedEvent[panel];
            }
            else
            {
                stack = new Stack <EventDebuggerTrace>();
                m_StackOfProcessedEvent.Add(panel, stack);
            }

            List <EventDebuggerTrace> list;

            if (m_EventProcessedEvents.ContainsKey(panel))
            {
                list = m_EventProcessedEvents[panel];
            }
            else
            {
                list = new List <EventDebuggerTrace>();
                m_EventProcessedEvents.Add(panel, list);
            }
            list.Add(dbgObject);
            stack.Push(dbgObject);
        }
예제 #2
0
        private void AddBeginProcessEvent(EventBase evt, IEventHandler mouseCapture)
        {
            EventDebuggerTrace item = new EventDebuggerTrace(this.panel, evt, -1L, mouseCapture);
            bool flag = this.m_StackOfProcessedEvent.ContainsKey(this.panel);
            Stack <EventDebuggerTrace> stack;

            if (flag)
            {
                stack = this.m_StackOfProcessedEvent[this.panel];
            }
            else
            {
                stack = new Stack <EventDebuggerTrace>();
                this.m_StackOfProcessedEvent.Add(this.panel, stack);
            }
            bool flag2 = this.m_EventProcessedEvents.ContainsKey(this.panel);
            List <EventDebuggerTrace> list;

            if (flag2)
            {
                list = this.m_EventProcessedEvents[this.panel];
            }
            else
            {
                list = new List <EventDebuggerTrace>();
                this.m_EventProcessedEvents.Add(this.panel, list);
            }
            list.Add(item);
            stack.Push(item);
        }
예제 #3
0
        void AddEndProcessEvent(EventBase evt, long duration, IEventHandler mouseCapture)
        {
            if (suspended)
            {
                return;
            }

            bool evtHandled = false;

            if (m_StackOfProcessedEvent.TryGetValue(panel, out var stack))
            {
                if (stack.Count > 0)
                {
                    var dbgObject = stack.Peek();
                    if (dbgObject.eventBase.eventId == evt.eventId)
                    {
                        stack.Pop();
                        dbgObject.duration = duration;

                        // Update the target if it was unknown in AddBeginProcessEvent.
                        if (dbgObject.eventBase.target == null)
                        {
                            dbgObject.eventBase.target = evt.target;
                        }

                        evtHandled = true;
                    }
                }
            }

            if (!evtHandled)
            {
                var dbgObject = new EventDebuggerTrace(panel, evt, duration, mouseCapture);
                if (!m_EventProcessedEvents.TryGetValue(panel, out var list))
                {
                    list = new List <EventDebuggerTrace>();
                    m_EventProcessedEvents.Add(panel, list);
                }

                list.Add(dbgObject);

                if (!m_EventTypeProcessedCount.TryGetValue(panel, out var eventTypeProcessedForPanel))
                {
                    return;
                }

                if (!eventTypeProcessedForPanel.TryGetValue(dbgObject.eventBase.eventTypeId, out var count))
                {
                    count = 0;
                }

                eventTypeProcessedForPanel[dbgObject.eventBase.eventTypeId] = count + 1;
            }
        }
예제 #4
0
        private void AddEndProcessEvent(EventBase evt, long duration, IEventHandler mouseCapture)
        {
            bool flag  = false;
            bool flag2 = this.m_StackOfProcessedEvent.ContainsKey(this.panel);

            if (flag2)
            {
                Stack <EventDebuggerTrace> stack = this.m_StackOfProcessedEvent[this.panel];
                bool flag3 = stack.Count > 0;
                if (flag3)
                {
                    EventDebuggerTrace eventDebuggerTrace = stack.Peek();
                    bool flag4 = eventDebuggerTrace.eventBase.eventId == evt.eventId;
                    if (flag4)
                    {
                        stack.Pop();
                        eventDebuggerTrace.duration = duration;
                        bool flag5 = eventDebuggerTrace.eventBase.target == null;
                        if (flag5)
                        {
                            eventDebuggerTrace.eventBase.target = evt.target;
                        }
                        flag = true;
                    }
                }
            }
            bool flag6 = !flag;

            if (flag6)
            {
                EventDebuggerTrace item = new EventDebuggerTrace(this.panel, evt, duration, mouseCapture);
                bool flag7 = this.m_EventProcessedEvents.ContainsKey(this.panel);
                List <EventDebuggerTrace> list;
                if (flag7)
                {
                    list = this.m_EventProcessedEvents[this.panel];
                }
                else
                {
                    list = new List <EventDebuggerTrace>();
                    this.m_EventProcessedEvents.Add(this.panel, list);
                }
                list.Add(item);
            }
        }
예제 #5
0
        void AddEndProcessEvent(EventBase evt, long duration, IEventHandler mouseCapture)
        {
            bool evtHandled = false;

            if (m_StackOfProcessedEvent.ContainsKey(panel))
            {
                var stack = m_StackOfProcessedEvent[panel];
                if (stack.Count > 0)
                {
                    var dbgObject = stack.Peek();
                    if (dbgObject.eventBase.eventId == evt.eventId)
                    {
                        stack.Pop();
                        dbgObject.duration = duration;
                        // Update the target if it was unknown in AddBeginProcessEvent.
                        if (dbgObject.eventBase.target == null)
                        {
                            dbgObject.eventBase.target = evt.target;
                        }
                        evtHandled = true;
                    }
                }
            }

            if (!evtHandled)
            {
                var dbgObject = new EventDebuggerTrace(panel, evt, duration, mouseCapture);
                List <EventDebuggerTrace> list;
                if (m_EventProcessedEvents.ContainsKey(panel))
                {
                    list = m_EventProcessedEvents[panel];
                }
                else
                {
                    list = new List <EventDebuggerTrace>();
                    m_EventProcessedEvents.Add(panel, list);
                }

                list.Add(dbgObject);
            }
        }
예제 #6
0
        void AddBeginProcessEvent(EventBase evt, IEventHandler mouseCapture)
        {
            if (suspended)
            {
                return;
            }

            var dbgObject = new EventDebuggerTrace(panel, evt, -1, mouseCapture);

            if (!m_StackOfProcessedEvent.TryGetValue(panel, out var stack))
            {
                stack = new Stack <EventDebuggerTrace>();
                m_StackOfProcessedEvent.Add(panel, stack);
            }

            if (!m_EventProcessedEvents.TryGetValue(panel, out var list))
            {
                list = new List <EventDebuggerTrace>();
                m_EventProcessedEvents.Add(panel, list);
            }

            list.Add(dbgObject);
            stack.Push(dbgObject);

            if (!m_EventTypeProcessedCount.TryGetValue(panel, out var eventTypeProcessedCountForPanel))
            {
                return;
            }

            if (!eventTypeProcessedCountForPanel.TryGetValue(dbgObject.eventBase.eventTypeId, out var count))
            {
                count = 0;
            }

            eventTypeProcessedCountForPanel[dbgObject.eventBase.eventTypeId] = count + 1;
        }