public override void Tick() { if (lastIconIdx >= supportPowerIconsBounds.Count) { TooltipIcon = null; return; } if (TooltipIcon != null && supportPowerIconsBounds[lastIconIdx].Contains(Viewport.LastMousePos)) { return; } for (var i = 0; i < supportPowerIconsBounds.Count; i++) { if (!supportPowerIconsBounds[i].Contains(Viewport.LastMousePos)) { continue; } lastIconIdx = i; TooltipIcon = supportPowerIconsIcons[i]; return; } TooltipIcon = null; }
protected ObserverSupportPowerIconsWidget(ObserverSupportPowerIconsWidget other) : base(other) { GetPlayer = other.GetPlayer; icon = other.icon; world = other.world; worldRenderer = other.worldRenderer; clocks = other.clocks; timestep = other.timestep; IconWidth = other.IconWidth; IconHeight = other.IconHeight; IconSpacing = other.IconSpacing; ClockAnimation = other.ClockAnimation; ClockSequence = other.ClockSequence; ClockPalette = other.ClockPalette; TooltipIcon = other.TooltipIcon; GetTooltipIcon = () => TooltipIcon; TooltipTemplate = other.TooltipTemplate; TooltipContainer = other.TooltipContainer; tooltipContainer = Exts.Lazy(() => Ui.Root.Get <TooltipContainerWidget>(TooltipContainer)); }
public override void Tick() { if (TooltipContainer == null) { return; } if (Ui.MouseOverWidget != this) { if (TooltipIcon != null) { tooltipContainer.Value.RemoveTooltip(currentTooltipToken); lastIconIdx = 0; TooltipIcon = null; } return; } if (TooltipIcon != null && lastIconIdx < supportPowerIconsBounds.Count && supportPowerIconsIcons[lastIconIdx].Power == TooltipIcon.Power && supportPowerIconsBounds[lastIconIdx].Contains(Viewport.LastMousePos)) { return; } for (var i = 0; i < supportPowerIconsBounds.Count; i++) { if (!supportPowerIconsBounds[i].Contains(Viewport.LastMousePos)) { continue; } lastIconIdx = i; TooltipIcon = supportPowerIconsIcons[i]; currentTooltipToken = tooltipContainer.Value.SetTooltip(TooltipTemplate, new WidgetArgs() { { "world", worldRenderer.World }, { "player", GetPlayer() }, { "getTooltipIcon", GetTooltipIcon }, { "playerResources", GetPlayer().PlayerActor.Trait <PlayerResources>() } }); return; } TooltipIcon = null; }