void render(RendererParams rendererParams) { if (rendererParams.ItemsToRender.Has(ItemsToRender.SelectionRectangle)) { drawSelectionBoxIfNeeded(rendererParams); } if (rendererParams.ItemsToRender.Has(ItemsToRender.Items)) { drawAllItems(rendererParams); } if (rendererParams.ItemsToRender.Has(ItemsToRender.HooksOnSelectedItems)) { drawFramesAroundSelectedEditors(rendererParams); } if (rendererParams.SnapPoint.Visible && rendererParams.ItemsToRender.Has(ItemsToRender.SnapPoint)) { _game.SpriteBatch.Begin( ); var snappedPoint = Vector2.Transform(rendererParams.SnapPoint.Position, rendererParams.Camera.Matrix); _drawing.DrawBoxFilled( _game.SpriteBatch, snappedPoint.X - 5, snappedPoint.Y - 5, 10, 10, Constants.Instance.ColorSelectionFirst); _game.SpriteBatch.End( ); } if (Constants.Instance.ShowWorldOrigin) { if (rendererParams.ItemsToRender.Has(ItemsToRender.WorldOrigin)) { drawWorldOrigin(rendererParams.Camera); } } if (Constants.Instance.ShowGrid) { if (rendererParams.ItemsToRender.Has(ItemsToRender.Grid)) { drawGrid(rendererParams.Camera); } } if (_debugDrawActions.Any()) { _game.SpriteBatch.Begin( ); _debugDrawActions.ForEach(a => a()); _game.SpriteBatch.End( ); _debugDrawActions.Clear( ); } }
public override void DrawSelectionFrame(SpriteBatch spriteBatch, Color color) { float range = _properties.Range; Vector2 position = _properties.Position; _drawing.DrawCircle(spriteBatch, position, range, color, 2); var extents = new Vector2[4]; extents[0] = position + Vector2.UnitX * range; extents[1] = position + Vector2.UnitY * range; extents[2] = position - Vector2.UnitX * range; extents[3] = position - Vector2.UnitY * range; foreach (Vector2 eachExtent in extents) { _drawing.DrawCircleFilled(spriteBatch, eachExtent, 4, color); } _drawing.DrawBoxFilled(spriteBatch, position.X - 5, position.Y - 5, 10, 10, color); }