private void _RightMouseButtonDown( MouseEventArgs e ) { ActorEd actor = GetActor( e.X, e.Y ); if( actor != null ) { if( Global.Tools.IsSelectionMode ) { if( !_selectedActors.Contains( actor ) ) SelectActor( actor, false ); ShowActorContextMenu( e.Location ); } } _moveMode = MouseMoveMode.Camera; }
public void ViewportMouseUp( object sender, MouseEventArgs e ) { if ( _moveMode == MouseMoveMode.Selection ) { if ( _selectionBox.Width < 0 ) { _selectionBox.X = _selectionBox.Right; _selectionBox.Width *= -1; } if ( _selectionBox.Height < 0 ) { _selectionBox.Y = _selectionBox.Bottom; _selectionBox.Height *= -1; } foreach ( ActorEd actor in Parent.Level.SelectedLayer.Actors ) { if( _selectionBox.Contains( actor.Position ) ) SelectActor( actor, true ); } _selectionBox.Width = 1; _selectionBox.Height = 1; } else if( _moveMode == MouseMoveMode.Create ) { CreateActor( e.X, e.Y ); } else if( _moveMode == MouseMoveMode.Actor && _actorMode == ActorMode.Move && Global.Tools.IsDragSnapToGrid ) { foreach( ActorEd actor in _selectedActors ) { actor.Position = Helper.DragSnap( actor.Position ); } } Global.Properties.RefreshGrid( ); _moveMode = MouseMoveMode.None; }
private void _LeftMouseButtonDown( MouseEventArgs e ) { ActorEd actor; if( !Global.SelectedLevel2.SelectedLayer.Locked ) { if( Global.Tools.IsSelectionMode ) { actor = GetActor( e.X, e.Y ); if( actor != null ) { if( Control.ModifierKeys == Keys.Shift ) { if( _selectedActors.Contains( actor ) ) UnselectActor( actor ); else SelectActor( actor, true ); } else if( !_selectedActors.Contains( actor ) ) SelectActor( actor, false ); _moveMode = MouseMoveMode.Actor; _actorMode = GetActorMode( actor, e.X, e.Y ); _mouseFirstPos = new Point( e.X, e.Y ); _actorInitialScale = actor.Scale; Vector2 mousePos = Helper.ScreenToWorldPosition( Camera, e.X, e.Y ); _actorPrevRotation = (float)Math.Atan2( actor.Position.Y - mousePos.Y, actor.Position.X - mousePos.X ); } else { UnselectAllActors( ); _moveMode = MouseMoveMode.Selection; Vector2 pos = Helper.ScreenToWorldPosition( Camera, e.X, e.Y ); _selectionBox.X = (int)pos.X; _selectionBox.Y = (int)pos.Y; } } else { _moveMode = MouseMoveMode.Create; } } }
public void ViewportMouseDown( object sender, MouseEventArgs e ) { switch ( e.Button ) { case MouseButtons.Left: _LeftMouseButtonDown( e ); break; case MouseButtons.Right: _RightMouseButtonDown( e ); break; case MouseButtons.Middle: _moveMode = MouseMoveMode.Zoom; break; } _mouseLastPos = e.Location; }