private void DrawRectangle(DrawnRectangle rectangle) { DrawnLine top = new DrawnLine { Name = rectangle.Name, Color = rectangle.Color, X = rectangle.X, Y = rectangle.Y, EndX = rectangle.X + rectangle.Size.Width, EndY = rectangle.Y, Thickness = rectangle.Thickness }; DrawnLine right = new DrawnLine { Name = rectangle.Name, Color = rectangle.Color, X = rectangle.X + rectangle.Size.Width, Y = rectangle.Y, EndX = rectangle.X + rectangle.Size.Width, EndY = rectangle.Y + rectangle.Size.Height, Thickness = rectangle.Thickness }; DrawnLine bottom = new DrawnLine { Name = rectangle.Name, Color = rectangle.Color, X = rectangle.X + rectangle.Size.Width, Y = rectangle.Y + rectangle.Size.Height, EndX = rectangle.X, EndY = rectangle.Y + rectangle.Size.Height, Thickness = rectangle.Thickness }; DrawnLine left = new DrawnLine { Name = rectangle.Name, Color = rectangle.Color, X = rectangle.X, Y = rectangle.Y + rectangle.Size.Height, EndX = rectangle.X, EndY = rectangle.Y, Thickness = rectangle.Thickness }; DrawLine(top); DrawLine(right); DrawLine(bottom); DrawLine(left); }
private void DrawLine(DrawnLine line) { Vector2 position = new Vector2(line.X, line.Y); Vector2 endPos = new Vector2(line.EndX, line.EndY); Vector2 edge = endPos - position; float angle = (float) Math.Atan2(edge.Y, edge.X); Texture2D pixelTexture = textureManager.PixelTextures[line.Name]; SpriteBatch.Draw(pixelTexture,new Rectangle((int)position.X,(int)position.Y, (int)edge.Length(),(int)line.Thickness ), null, line.Color, angle, Vector2.Zero, SpriteEffects.None, 1); }