Sort renderables in-place in WorldRenderer.GenerateRenderables
This commit is contained in:
@@ -95,7 +95,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
foreach (var r in RenderFootprint(wr, topLeft, footprint, info.FootprintUnderPreview))
|
||||
yield return r;
|
||||
|
||||
foreach (var r in previewRenderables.OrderBy(WorldRenderer.RenderableScreenZPositionComparisonKey))
|
||||
foreach (var r in previewRenderables.OrderBy(WorldRenderer.RenderableZPositionComparisonKey))
|
||||
yield return r;
|
||||
|
||||
if (info.FootprintOverPreview != PlaceBuildingCellType.None)
|
||||
|
||||
@@ -249,7 +249,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
var offset = body.LocalToWorld(CarryableOffset.Rotate(body.QuantizeOrientation(self, self.Orientation)));
|
||||
var previewRenderables = carryablePreview
|
||||
.SelectMany(p => p.Render(wr, self.CenterPosition + offset))
|
||||
.OrderBy(WorldRenderer.RenderableScreenZPositionComparisonKey);
|
||||
.OrderBy(WorldRenderer.RenderableZPositionComparisonKey);
|
||||
|
||||
foreach (var r in previewRenderables)
|
||||
yield return r;
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return terrainOrResourcePreview;
|
||||
|
||||
if (Type == EditorCursorType.Actor)
|
||||
return Actor.Render().OrderBy(WorldRenderer.RenderableScreenZPositionComparisonKey);
|
||||
return Actor.Render().OrderBy(WorldRenderer.RenderableZPositionComparisonKey);
|
||||
|
||||
return NoRenderables;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
|
||||
renderables = preview
|
||||
.SelectMany(p => p.RenderUI(worldRenderer, origin, scale))
|
||||
.OrderBy(WorldRenderer.RenderableScreenZPositionComparisonKey)
|
||||
.OrderBy(WorldRenderer.RenderableZPositionComparisonKey)
|
||||
.Select(r => r.PrepareRender(worldRenderer))
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user