public virtual void Update()
        {
            bool inInteractionRange = InInteractionRange();

            if (this.IsHovered && inInteractionRange)
            {
                HandReticle main = HandReticle.main;

#if SUBNAUTICA
                if (ButtonMode == InterfaceButtonMode.None)
                {
                    main.SetIcon(HandReticle.IconType.Hand, 1f);
                    main.SetInteractTextRaw(this.TextLineOne, this.TextLineTwo);
                }
                else
                {
                    main.SetInteractTextRaw(this.TextLineOne, this.TextLineTwo);
                }
#elif BELOWZERO
                if (ButtonMode == InterfaceButtonMode.None)
                {
                    main.SetIcon(HandReticle.IconType.Hand, 1f);
                    main.SetTextRaw(HandReticle.TextType.Hand, this.TextLineOne);
                    main.SetTextRaw(HandReticle.TextType.Hand, this.TextLineTwo);
                }
                else
                {
                    main.SetTextRaw(HandReticle.TextType.Hand, this.TextLineOne);
                    main.SetTextRaw(HandReticle.TextType.Hand, this.TextLineTwo);
                }
#endif
            }

            if (this.IsHovered && inInteractionRange == false)
            {
                this.IsHovered = false;
            }

            if (this.IsHovered == false && isHoveredOutOfRange && inInteractionRange)
            {
                this.IsHovered = true;
            }
        }
        public void OnHandHover(GUIHand hand)
        {
            HandReticle main  = HandReticle.main;
            var         state = PowerManager?.GetPowerState() == FCSPowerStates.Powered ? "On" : "Off";

#if SUBNAUTICA
            main.SetInteractTextRaw(Manager?.GetBaseName(), $"{AuxPatchers.Antenna()}: {state} || {AuxPatchers.PowerUsage()}: {PowerManager?.GetPowerUsage():F1}");
#elif BELOWZERO
            main.SetText(HandReticle.TextType.Info, Manager.GetBaseName(), false);
#endif
            main.SetIcon(HandReticle.IconType.Info, 1f);
        }
        public void OnHandHover(GUIHand hand)
        {
            HandReticle main = HandReticle.main;

            main.SetInteractTextRaw($"Item PrefabID: {GetPrefabID()}", "");
        }