From 46384d25f26c23596e3ebecbdb49061cbf00dd2b Mon Sep 17 00:00:00 2001 From: reaperrr Date: Mon, 30 Dec 2019 12:46:00 +0100 Subject: [PATCH] Improve Rectangle HitShape debug overlay Showing vertical sides, too. --- OpenRA.Mods.Common/HitShapes/Rectangle.cs | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/HitShapes/Rectangle.cs b/OpenRA.Mods.Common/HitShapes/Rectangle.cs index a89a1e018b..6bd2da2a48 100644 --- a/OpenRA.Mods.Common/HitShapes/Rectangle.cs +++ b/OpenRA.Mods.Common/HitShapes/Rectangle.cs @@ -43,6 +43,8 @@ namespace OpenRA.Mods.Common.HitShapes WVec[] combatOverlayVertsTop; WVec[] combatOverlayVertsBottom; + WVec[] combatOverlayVertsSide1; + WVec[] combatOverlayVertsSide2; public RectangleShape() { } @@ -73,7 +75,7 @@ namespace OpenRA.Mods.Common.HitShapes new WVec(TopLeft.X, TopLeft.Y, VerticalTopOffset), new WVec(BottomRight.X, TopLeft.Y, VerticalTopOffset), new WVec(BottomRight.X, BottomRight.Y, VerticalTopOffset), - new WVec(TopLeft.X, BottomRight.Y, VerticalTopOffset) + new WVec(TopLeft.X, BottomRight.Y, VerticalTopOffset), }; combatOverlayVertsBottom = new WVec[] @@ -81,7 +83,23 @@ namespace OpenRA.Mods.Common.HitShapes new WVec(TopLeft.X, TopLeft.Y, VerticalBottomOffset), new WVec(BottomRight.X, TopLeft.Y, VerticalBottomOffset), new WVec(BottomRight.X, BottomRight.Y, VerticalBottomOffset), - new WVec(TopLeft.X, BottomRight.Y, VerticalBottomOffset) + new WVec(TopLeft.X, BottomRight.Y, VerticalBottomOffset), + }; + + combatOverlayVertsSide1 = new WVec[] + { + new WVec(TopLeft.X, TopLeft.Y, VerticalBottomOffset), + new WVec(TopLeft.X, TopLeft.Y, VerticalTopOffset), + new WVec(TopLeft.X, BottomRight.Y, VerticalTopOffset), + new WVec(TopLeft.X, BottomRight.Y, VerticalBottomOffset), + }; + + combatOverlayVertsSide2 = new WVec[] + { + new WVec(BottomRight.X, TopLeft.Y, VerticalBottomOffset), + new WVec(BottomRight.X, TopLeft.Y, VerticalTopOffset), + new WVec(BottomRight.X, BottomRight.Y, VerticalTopOffset), + new WVec(BottomRight.X, BottomRight.Y, VerticalBottomOffset), }; } @@ -113,9 +131,13 @@ namespace OpenRA.Mods.Common.HitShapes var vertsTop = combatOverlayVertsTop.Select(v => origin + v.Rotate(orientation)).ToArray(); var vertsBottom = combatOverlayVertsBottom.Select(v => origin + v.Rotate(orientation)).ToArray(); + var side1 = combatOverlayVertsSide1.Select(v => origin + v.Rotate(orientation)).ToArray(); + var side2 = combatOverlayVertsSide2.Select(v => origin + v.Rotate(orientation)).ToArray(); yield return new PolygonAnnotationRenderable(vertsTop, origin, 1, Color.Yellow); yield return new PolygonAnnotationRenderable(vertsBottom, origin, 1, Color.Yellow); + yield return new PolygonAnnotationRenderable(side1, origin, 1, Color.Yellow); + yield return new PolygonAnnotationRenderable(side2, origin, 1, Color.Yellow); yield return new CircleAnnotationRenderable(origin, OuterRadius, 1, Color.LimeGreen); } }