Пример #1
0
        /// <summary>
        /// Precessing the mouse
        /// </summary>
        /// <param name="e"></param>
        public override void Process(Event e)
        {
#if DEBUG
            if (DebugMode)
            {
                Debug.Log("MouseProcessor.Process");
            }
#endif
            _mousePosition = new Point(e.mousePosition.x, e.mousePosition.y);

            /**
             * Note: MouseMove events could be sent in editor only!!!
             * -> look into ScreenSizeProcessor class for capturing mouse move
             * */

            if (e.rawType == EventType.MouseDrag)
            {
#if DEBUG
                if (DebugMode)
                {
                    Debug.Log("MouseProcessor.MouseDrag");
                }
#endif
                //SystemManager.MouseDragHandler(e, _mousePosition);

                if (SystemManager.MouseDragSignal.Connected)
                {
                    SystemManager.MouseDragSignal.Emit(e, _mousePosition);
                }

                //e.Use();
            }

            else if (e.rawType == EventType.MouseDown)
            {
#if DEBUG
                if (DebugMode)
                {
                    Debug.Log("MouseProcessor.MouseDown");
                }
#endif
                Signal signal = MouseUtil.DifferentiateMouseButton(e.button,
                                                                   SystemManager.MouseDownSignal,
                                                                   SystemManager.RightMouseDownSignal,
                                                                   SystemManager.MiddleMouseDownSignal
                                                                   );

                if (signal.Connected)
                {
                    signal.Emit(e, _mousePosition);
                }

                //e.Use();
            }

            else if (e.rawType == EventType.MouseUp)
            {
#if DEBUG
                if (DebugMode)
                {
                    Debug.Log("MouseProcessor.MouseUp");
                }
#endif
                Signal signal = MouseUtil.DifferentiateMouseButton(e.button,
                                                                   SystemManager.MouseUpSignal,
                                                                   SystemManager.RightMouseUpSignal,
                                                                   SystemManager.MiddleMouseUpSignal
                                                                   );

                if (signal.Connected)
                {
                    signal.Emit(e, _mousePosition);
                }
            }

            //e.Use();
        }