Make brush rendering self-contained

This commit is contained in:
Gustas
2024-08-16 17:53:49 +03:00
committed by Paul Chote
parent b073155018
commit 87850378c7
19 changed files with 259 additions and 314 deletions

View File

@@ -10,7 +10,9 @@
#endregion
using System;
using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Mods.Common.Traits;
using OpenRA.Widgets;
@@ -20,6 +22,10 @@ namespace OpenRA.Mods.Common.Widgets
{
bool HandleMouseInput(MouseInput mi);
void Tick();
void TickRender(WorldRenderer wr, Actor self);
IEnumerable<IRenderable> RenderAboveShroud(Actor self, WorldRenderer wr);
IEnumerable<IRenderable> RenderAnnotations(Actor self, WorldRenderer wr);
}
public class EditorSelection
@@ -255,6 +261,17 @@ namespace OpenRA.Mods.Common.Widgets
return true;
}
void IEditorBrush.TickRender(WorldRenderer wr, Actor self) { }
IEnumerable<IRenderable> IEditorBrush.RenderAboveShroud(Actor self, WorldRenderer wr) { yield break; }
IEnumerable<IRenderable> IEditorBrush.RenderAnnotations(Actor self, WorldRenderer wr)
{
if (CurrentDragBounds != null)
{
yield return new EditorSelectionAnnotationRenderable(CurrentDragBounds, editorWidget.SelectionAltColor, editorWidget.SelectionAltOffset, null);
yield return new EditorSelectionAnnotationRenderable(CurrentDragBounds, editorWidget.SelectionMainColor, int2.Zero, null);
}
}
public void Tick() { }
public void Dispose() { }