Beispiel #1
0
 protected void onMouseClick(EMouseButton button)
 {
     MouseClickEvent(this, new MouseClickEventArgs(MouseX, MouseY, button));
 }
 protected virtual void MouseButtonDown(Point _pnt, EMouseButton _button)
 {
 }
Beispiel #3
0
		private void BuildMouseEvent(MouseState state, EMouseButton button, ref MouseEventArgs e) {
			e.State = state;
			e.Button = button;

			e.Position = new Point(state.X, state.Y);
			AdjustPosition(ref e);

			e.Position = RecalcPosition(e.Position);
			e.State = new MouseState(e.Position.X, e.Position.Y, e.State.ScrollWheelValue, e.State.LeftButton, e.State.MiddleButton, e.State.RightButton, e.State.XButton1, e.State.XButton2);

			Point pos = RecalcPosition(new Point(mouseState.X, mouseState.Y));
			e.Difference = new Point(e.Position.X - pos.X, e.Position.Y - pos.Y);
		}
Beispiel #4
0
		private bool WasPressed(EMouseButton Btn) {
			ButtonState oldState = ButtonState.Released;
			ButtonState newState = ButtonState.Released;
			switch (Btn) {
				case EMouseButton.LeftButton:
					oldState = mOldMouseState.LeftButton;
					newState = mNewMouseState.LeftButton;
					break;
				case EMouseButton.MiddleButton:
					oldState = mOldMouseState.MiddleButton;
					newState = mNewMouseState.MiddleButton;
					break;
				case EMouseButton.RightButton:
					oldState = mOldMouseState.RightButton;
					newState = mNewMouseState.RightButton;
					break;
			}

			return oldState == ButtonState.Pressed && newState == ButtonState.Released;
		}
Beispiel #5
0
		public virtual void MouseButtonUp(Point _pnt, EMouseButton _button) { }
Beispiel #6
0
 public DurationDetector(EMouseButton button)
     : this(new MouseButtonProvider(button))
 {
 }
Beispiel #7
0
		public MouseEventArgs(MouseEventArgs e) {
			State = e.State;
			Button = e.Button;
			Position = e.Position;
			Difference = e.Difference;
		}
Beispiel #8
0
		private bool WasPressed( EMouseButton Button ) {
			switch( Button ) {
				case EMouseButton.LeftButton:
					return ( oldMouseState.LeftButton == ButtonState.Pressed && curMouseState.LeftButton == ButtonState.Released );
				case EMouseButton.MiddleButton:
					return ( oldMouseState.MiddleButton == ButtonState.Pressed && curMouseState.MiddleButton == ButtonState.Released );
				case EMouseButton.RightButton:
					return ( oldMouseState.RightButton == ButtonState.Pressed && curMouseState.RightButton == ButtonState.Released );
			}

			return false;
		}
 public virtual void OnDoubleClick( EMouseButton button, Vector2 position )
 {
 }
		protected virtual void MouseButtonDown(Point _pnt, EMouseButton _button)
		{
		}
Beispiel #11
0
 public EButtonState Get(EMouseButton button)
 {
     return(m_KeyStates[(int)button]);
 }
Beispiel #12
0
 public InputMouseButton(EMouseButton button)
 {
     Button = button;
 }
Beispiel #13
0
 public TriggerDetector(EMouseButton button)
     : this(new MouseButtonProvider(button))
 {
 }
 /// <summary>
 /// Is the given mouse button down
 /// </summary>
 /// <param name="button">the mouse button to check</param>
 public bool ButtonDown( EMouseButton button )
 {
     if ( !PreInputCheck() ) return false;
     if ( !mStates.ContainsKey( button ) ) return false;
     return mStates[button].IsDown();
 }
        private void SetValue( EMouseButton button, bool value )
        {
            if ( !mStates.ContainsKey( button ) ) {
                mStates.Add( button, new State<bool>() );
            }

            var state = mStates[button];
            state.Current = value;
            mStates[button] = state;
        }
Beispiel #16
0
 protected override void MouseButtonUp(Point _pnt, EMouseButton _button)
 {
     m_game.MouseButtonUp(_pnt, _button);
 }
 public bool ButtonUp( EMouseButton button )
 {
     if ( !mStates.ContainsKey( button ) ) return false;
     return mStates[button].IsUp();
 }
        // 响应鼠标事件
        void ProcessEvent()
        {
            mInterceptMouse = clipRect.Contains(Event.current.mousePosition);
            if (!mInterceptMouse)
            {
                return;
            }
            if (Event.current.type == EventType.KeyDown)
            {
                OnKeyDown();
            }
            else if (Event.current.type == EventType.KeyUp)
            {
                OnKeyUp();
            }
            if (Event.current.type == EventType.MouseDrag)
            {
                if (mouseAction == EMouseAction.none)
                {
                    mouseButton = (EMouseButton)Event.current.button;
                    mouseAction = EMouseAction.drag;
                    OnDragBegin();
                }
                if (mouseAction == EMouseAction.drag)
                {
                    OnDrag();
                }
            }
            else if (Event.current.type == EventType.MouseUp)
            {
                if (mouseAction == EMouseAction.none)
                {
                    mouseButton = (EMouseButton)Event.current.button;
                    mouseAction = EMouseAction.click;
                    OnClick();
                }
                else if (mouseAction == EMouseAction.drag)
                {
                    OnDragEnd();
                }
                mouseAction = EMouseAction.none;
            }

            if (Event.current.type == EventType.ScrollWheel)
            {
                Vector2 cen = Vector2.zero;
                if (!Event.current.control)
                {
                    cen = GraphCanvas.Parent.CalculateLocalPosition(GlobalMousePosition);
                }
                float f = Mathf.Clamp(ScaledCanvas.LocalScale - Event.current.delta.y * ScaledCanvas.LocalScale * 0.05f, mMinScale, mMaxScale);
                if ((f < 1 && ScaledCanvas.LocalScale > 1) || (f > 1 && ScaledCanvas.LocalScale < 1))
                {
                    f = 1;
                }
                ScaledCanvas.LocalScale = f;
                if (!Event.current.control)
                {
                    Vector2 p     = GraphCanvas.Parent.CalculateLocalPosition(GlobalMousePosition);
                    Vector2 delta = p - cen;
                    Rect    r     = GraphCanvas.LocalRect;
                    r.position           += delta;
                    GraphCanvas.LocalRect = r;
                }
                UpdateStateInfo();
            }
        }
Beispiel #19
0
		public MouseEventArgs(MouseState state, EMouseButton button, Point position) {
			State = state;
			Button = button;
			Position = position;
		}
Beispiel #20
0
 public virtual void MouseButtonUp(Point _pnt, EMouseButton _button)
 {
 }
Beispiel #21
0
		public void MouseButtonUp(Point _pnt, EMouseButton _button)
		{
			var uiBlock = UiBlocks.Peek();
			if (uiBlock.Rct.Contains(_pnt))
			{
				var pnt = _pnt - uiBlock.Rct.LeftTop;
				uiBlock.MouseButtonUp(pnt, _button);
			}
		}
Beispiel #22
0
 public IntervalDetector(EMouseButton button, params double[] intervals)
     : this(new MouseButtonProvider(button), intervals)
 {
 }
Beispiel #23
0
		private void ClickProcess(EventArgs e) {
			long timer = (long)TimeSpan.FromTicks(DateTime.Now.Ticks).TotalMilliseconds;

			MouseEventArgs ex = (e is MouseEventArgs) ? (MouseEventArgs)e : new MouseEventArgs();

			if ((doubleClickTimer == 0 || (timer - doubleClickTimer > Manager.DoubleClickTime)) ||
				!doubleClicks) {
				TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
				doubleClickTimer = (long)ts.TotalMilliseconds;
				doubleClickButton = ex.Button;

				if (!Suspended)
					OnClick(e);


			} else if (timer - doubleClickTimer <= Manager.DoubleClickTime && (ex.Button == doubleClickButton && ex.Button != EMouseButton.None)) {
				doubleClickTimer = 0;
				if (!Suspended)
					OnDoubleClick(e);
			} else {
				doubleClickButton = EMouseButton.None;
			}

			if (ex.Button == EMouseButton.Right && contextMenu != null && !e.Handled) {
				contextMenu.Show(this, ex.Position.X, ex.Position.Y);
			}
		}
Beispiel #24
0
 protected virtual bool OnScrollClick(EMouseButton button, Vector2 mousePosition)
 {
     return(Visible);
 }
Beispiel #25
0
 public MouseClickEventArgs(int x, int y, EMouseButton button)
 {
     this.x = x;
     this.y = y;
     this.button = button;
 }
Beispiel #26
0
 protected virtual bool OnScrollDragBegin(EMouseButton button, Vector2 mousePosition)
 {
     mDrag = true;
     return(true);
 }
Beispiel #27
0
			public InputMouseButton(EMouseButton button) {
				Button = button;
			}
Beispiel #28
0
 public DelayedDetector(EMouseButton button, double delay)
     : this(new MouseButtonProvider(button), delay)
 {
 }
Beispiel #29
0
 protected override void MouseButtonUp(Point _pnt, EMouseButton _button) { m_game.MouseButtonUp(_pnt, _button); }
Beispiel #30
0
 public MouseEventArgs(MouseState state, EMouseButton button, Point position)
 {
     State    = state;
     Button   = button;
     Position = position;
 }
		public override void MouseButtonUp(Point _pnt, EMouseButton _button)
		{
			if (_button != EMouseButton.LEFT) return;

			SetPoint(_pnt);
			KeysPressed(ConsoleKey.T, EKeyModifiers.NONE);
		}
 public virtual bool InteractDrag(EMouseButton button, Vector2 mousePosition, Vector2 mouseDelta)
 {
     return(false);
 }
 public bool ButtonReleased( EMouseButton button )
 {
     if ( !mStates.ContainsKey( button ) ) return false;
     return mStates[button].IsReleased();
 }
 public virtual bool InteractMouseClick(EMouseButton button, Vector2 mousePosition)
 {
     return(false);
 }
Beispiel #35
0
		public override void MouseButtonUp(Point _pnt, EMouseButton _button)
		{
			base.MouseButtonUp(_pnt, _button);

			foreach (var uiBlock in new[] {m_stats, m_messages, m_map})
			{
				if (uiBlock.ContentRct.Contains(_pnt))
				{
					uiBlock.MouseButtonUp(_pnt - uiBlock.ContentRct.LeftTop, _button);
					break;
				}
			}
		}
Beispiel #36
0
        public override bool InteractMouseClick(EMouseButton button, Vector2 mousePosition)
        {
            if (!Visible)
            {
                return(false);
            }
            mFocusSearch = mRaycastSearch;
            if (mRaycastMeta != null && button == EMouseButton.left)
            {
                if (mRaycastMeta.IsTitle)
                {
                    mRaycastMeta.Collaped = !mRaycastMeta.Collaped;
                }
                //mDropDownMeta = mRaycastMeta == mDropDownMeta ? null : mRaycastMeta;
                else
                {
                    switch (mRaycastMeta.BTMeta.NodeType)
                    {
                    case EBTNodeType.task:
                    case EBTNodeType.controller:
                        mWindow.AddChild(Context, mRaycastMeta.BTMeta, new Vector2(LocalRect.center.x, LocalRect.yMin));
                        Hide();
                        return(true);

                    case EBTNodeType.condition:
                    case EBTNodeType.service:
                        BehaviourNodeGUI node = Context as BehaviourNodeGUI;
                        if (node != null)
                        {
                            BehaviourNodeGUI.Decorator decor = node.AddDecorator(mRaycastMeta.BTMeta);
                            if (decor != null && decor.Properties.Length > 0)
                            {
                                //mFocusDecorator = decor;
                                decor.UpdatePropertiesInfo();
                            }
                            //Hide();
                            node.Resize();
                            if (decor == null)
                            {
                                EditorCanvasTip.NewTip("不能添加<color=yellow>" + mRaycastMeta.BTMeta.DisplayName + "</color>", 2)
                                .Show(mWindow.RootCanvas, mWindow.RootCanvas.CalculateLocalPosition(mousePosition - Vector2.up * 20));
                            }
                        }
                        return(true);

                    default:
                        break;
                    }
                }
            }
            bool act = mFocusProperty == null && mRaycastProperty == null;

            if (mFocusProperty != mRaycastProperty)
            {
                SubmitProperty();
            }
            mFocusProperty  = mRaycastProperty;
            mFocusDecorator = mRaycastDecorator;
            if (act && mRaycastDecorator != null && mRaycastDecorator.BTMeta.NodeType == EBTNodeType.condition)
            {
                mRaycastDecorator.NotFlag = !mRaycastDecorator.NotFlag;
            }
            //if (mRaycastDecorator != null && mRaycastDecorator.Properties.Length > 0)
            //{
            //    mFocusDecorator = mRaycastDecorator;
            //}
            return(Visible);
        }