From dd7e270780106a4595b9ce69122d784430592231 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 5 Jul 2011 23:37:49 +1200 Subject: [PATCH] Update tooltip every render - fixes tooltips for actors changing under the cursor. --- .../CncWorldInteractionControllerWidget.cs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/OpenRA.Mods.Cnc/Widgets/CncWorldInteractionControllerWidget.cs b/OpenRA.Mods.Cnc/Widgets/CncWorldInteractionControllerWidget.cs index 5953732d1d..08b4e4594e 100644 --- a/OpenRA.Mods.Cnc/Widgets/CncWorldInteractionControllerWidget.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncWorldInteractionControllerWidget.cs @@ -55,6 +55,12 @@ namespace OpenRA.Mods.Cnc.Widgets tooltipContainer.Value.RemoveTooltip(); } + public override void Draw() + { + UpdateMouseover(); + base.Draw(); + } + public void UpdateMouseover() { TooltipType = WorldTooltipType.None; @@ -79,9 +85,6 @@ namespace OpenRA.Mods.Cnc.Widgets public override bool HandleMouseInput(MouseInput mi) { - if (mi.Event == MouseInputEvent.Move) - UpdateMouseover(); - var scrolltype = Game.Settings.Game.MouseScroll; if (scrolltype != OpenRA.GameRules.MouseScrollType.Disabled && mi.Event == MouseInputEvent.Move && (mi.Button == MouseButton.Middle || mi.Button == (MouseButton.Left | MouseButton.Right))) @@ -169,15 +172,8 @@ namespace OpenRA.Mods.Cnc.Widgets return false; } - float2 cachedLocation; public override void Tick() { - if (Game.viewport.Location != cachedLocation) - { - UpdateMouseover(); - cachedLocation = Game.viewport.Location; - } - Edge = ScrollDirection.None; if (Game.Settings.Game.ViewportEdgeScroll && Game.HasInputFocus && Widget.MouseOverWidget == this) {