Remove special-case rollover rendering.

This commit is contained in:
Paul Chote
2020-03-22 12:24:34 +00:00
committed by atlimit8
parent 9f3254dbd1
commit 2c4e6c4188
4 changed files with 24 additions and 27 deletions

View File

@@ -58,19 +58,10 @@ namespace OpenRA.Mods.Common.Widgets
normalSelectionColor = Color.White;
}
void DrawRollover(Actor unit)
{
var selectionDecorations = unit.TraitOrDefault<ISelectionDecorations>();
if (selectionDecorations == null)
return;
foreach (var r in selectionDecorations.RenderRolloverAnnotations(unit, worldRenderer))
r.PrepareRender(worldRenderer).Render(worldRenderer);
}
public override void Draw()
{
var modifiers = Game.GetModifierKeys();
IEnumerable<Actor> rollover;
if (IsValidDragbox)
{
var a = worldRenderer.Viewport.WorldToViewPx(dragStart);
@@ -85,15 +76,15 @@ namespace OpenRA.Mods.Common.Widgets
Game.Renderer.RgbaColorRenderer.DrawRect(a, b, 1, color);
// Render actors in the dragbox
foreach (var u in SelectActorsInBoxWithDeadzone(World, dragStart, mousePos, modifiers))
DrawRollover(u);
rollover = SelectActorsInBoxWithDeadzone(World, dragStart, mousePos, modifiers);
}
else
{
// Render actors under the mouse pointer
foreach (var u in SelectActorsInBoxWithDeadzone(World, mousePos, mousePos, modifiers))
DrawRollover(u);
rollover = SelectActorsInBoxWithDeadzone(World, mousePos, mousePos, modifiers);
}
worldRenderer.World.Selection.SetRollover(rollover);
}
public override bool HandleMouseInput(MouseInput mi)