Example #1
0
        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;
        }
Example #2
0
        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));
        }
Example #3
0
        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;
        }