Preview clipboard when copy-pasting in the map editor

This commit is contained in:
Ashley Newson
2025-05-11 02:27:57 +01:00
committed by Gustas Kažukauskas
parent c4332c808b
commit 9c8470d18e
2 changed files with 16 additions and 2 deletions

View File

@@ -256,7 +256,8 @@ namespace OpenRA.Mods.Common.EditorBrushes
{
foreach (var (_, editorActorPreview) in blitSource.Actors)
{
var preview = editorActorPreview.RenderWithOffset(wOffset);
var preview = editorActorPreview.RenderWithOffset(wOffset)
.OrderBy(WorldRenderer.RenderableZPositionComparisonKey);
foreach (var renderable in preview)
yield return renderable;
}

View File

@@ -87,7 +87,20 @@ namespace OpenRA.Mods.Common.Widgets
}
void IEditorBrush.TickRender(WorldRenderer wr, Actor self) { }
IEnumerable<IRenderable> IEditorBrush.RenderAboveShroud(Actor self, WorldRenderer wr) { yield break; }
IEnumerable<IRenderable> IEditorBrush.RenderAboveShroud(Actor self, WorldRenderer wr)
{
if (PastePreviewPosition != null)
{
var preview = EditorBlit.PreviewBlitSource(
clipboard,
getCopyFilters(),
PastePreviewPosition.Value - Region.TopLeft,
wr);
foreach (var renderable in preview)
yield return renderable;
}
}
IEnumerable<IRenderable> IEditorBrush.RenderAnnotations(Actor self, WorldRenderer wr)
{
if (PastePreviewPosition != null)