Ballz.GameSession.Renderer.DebugRenderer.DrawRectangle C# (CSharp) Метод

DrawRectangle() публичный Метод

public DrawRectangle ( Vector2 position, float width, float height, float direction, bool awake ) : void
position Vector2
width float
height float
direction float
awake bool
Результат void
        public void DrawRectangle(Vector2 position, float width, float height, float direction, bool awake)
        {
            LineEffect.Projection = Game.Camera.Projection;
            LineEffect.View = Game.Camera.View;
            LineEffect.World = Matrix.CreateScale(1.0f);
            LineEffect.World *= Matrix.CreateRotationZ(direction);
            LineEffect.World *= Matrix.CreateTranslation(new Vector3(position, 0));

            if(awake)
                LineEffect.DiffuseColor = new Vector3(1, 0, 0);

            VertexPositionColor[] rectVerts = new VertexPositionColor[5];
            rectVerts[0].Position = new Vector3(-width / 2, -height / 2, 0);
            rectVerts[0].Color = Color.GreenYellow;
            rectVerts[1].Position = new Vector3(width / 2, -height / 2, 0);
            rectVerts[1].Color = Color.GreenYellow;
            rectVerts[2].Position = new Vector3(width / 2, height / 2, 0);
            rectVerts[2].Color = Color.GreenYellow;
            rectVerts[3].Position = new Vector3(-width / 2, height / 2, 0);
            rectVerts[3].Color = Color.GreenYellow;
            rectVerts[4].Position = new Vector3(-width / 2, -height / 2, 0);
            rectVerts[4].Color = Color.GreenYellow;

            LineEffect.CurrentTechnique.Passes[0].Apply();
            GraphicsDevice.DrawUserPrimitives(PrimitiveType.LineStrip, rectVerts, 0, 4);
        }