////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    //
    /// </summary>
    /// <param name="eventdata"></param>
    public void OnPointerEnter(PointerEventData eventdata)
    {
        if (SelectionWheel != null && _ObjectRefComponent != null && _ButtonComponent != null)
        {
            // Update the highlight text in the selection wheel
            if (_ObjectRefComponent.AbstractRef != null)
            {
                // Get selection wheel reference
                SelectionWheel selectionWheel = null;
                if (GameManager.Instance._IsRadialMenu)
                {
                    selectionWheel = GameManager.Instance.SelectionWheel.GetComponentInChildren <SelectionWheel>();
                }
                else
                {
                    selectionWheel = GameManager.Instance.selectionWindow.GetComponentInChildren <SelectionWheel>();
                }
                selectionWheel.ShowItemPurchaseInfoPanel();

                // Detail window
                SelectionWheel.DetailedHighlightTitle.text            = _ObjectRefComponent.AbstractRef.ObjectName.ToUpper();
                SelectionWheel.DetailedHighlightDescriptionShort.text = _ObjectRefComponent.AbstractRef.ObjectDescriptionShort.ToUpper();
                SelectionWheel.DetailedHighlightDescriptionLong.text  = _ObjectRefComponent.AbstractRef.ObjectDescriptionLong;

                // Center panel
                SelectionWheel.CenterHighlightTitle.text = _ObjectRefComponent.AbstractRef.ObjectName;
                SelectionWheel.CenterTechLevelText.text  = _ObjectRefComponent.AbstractRef.CostTechLevel.ToString();
                SelectionWheel.CenterSupplyText.text     = _ObjectRefComponent.AbstractRef.CostSupplies.ToString();
                SelectionWheel.CenterPowerText.text      = _ObjectRefComponent.AbstractRef.CostPower.ToString();
                SelectionWheel.CenterPopulationText.text = _ObjectRefComponent.AbstractRef.CostPopulation.ToString();

                Player player = GameManager.Instance.Players[0];
                SelectionWheelUnitRef unitRef = GetComponent <SelectionWheelUnitRef>();
                Abstraction           item    = unitRef.AbstractRef;

                bool unlock      = player.Level >= item.CostTechLevel;
                bool purchasable = player.SuppliesCount >= item.CostSupplies &&
                                   player.PowerCount >= item.CostPower &&
                                   (player.MaxPopulation - player.PopulationCount) >= item.CostPopulation;

                // Update selection marker colours
                if (selectionWheel.SelectionMarkerImage)
                {
                    if (!unlock)
                    {
                        selectionWheel.SelectionMarkerImage.color = Color.red;
                    }
                    if (!purchasable)
                    {
                        selectionWheel.SelectionMarkerImage.color = Color.red;
                    }
                    else if (unlock)
                    {
                        selectionWheel.SelectionMarkerImage.color = Color.green;
                    }
                    else
                    {
                        selectionWheel.SelectionMarkerImage.color = Color.grey;
                    }
                }

                // Update cost texts colour based on state
                /// Tech level
                if (player.Level >= item.CostTechLevel)
                {
                    selectionWheel.CenterTechLevelText.color = Color.black;
                }
                else
                {
                    selectionWheel.CenterTechLevelText.color = Color.red;
                }

                /// Population
                if ((player.MaxPopulation - player.PopulationCount) >= item.CostPopulation)
                {
                    selectionWheel.CenterPopulationText.color = Color.black;
                }
                else
                {
                    selectionWheel.CenterPopulationText.color = Color.red;
                }

                /// Supplies
                if (player.SuppliesCount >= item.CostSupplies)
                {
                    selectionWheel.CenterSupplyText.color = Color.black;
                }
                else
                {
                    selectionWheel.CenterSupplyText.color = Color.red;
                }

                /// Power
                if (player.PowerCount >= item.CostPower)
                {
                    selectionWheel.CenterPowerText.color = Color.black;
                }
                else
                {
                    selectionWheel.CenterPowerText.color = Color.red;
                }

                // Play hover button sound
                SoundManager.Instance.PlaySound("SFX/_SFX_Back_Alt", 1f, 1f, false);
            }
            else
            {
                // Get selection wheel reference
                SelectionWheel selectionWheel = null;
                if (GameManager.Instance._IsRadialMenu)
                {
                    selectionWheel = GameManager.Instance.SelectionWheel.GetComponentInChildren <SelectionWheel>();
                }
                else
                {
                    selectionWheel = GameManager.Instance.selectionWindow.GetComponentInChildren <SelectionWheel>();
                }
                selectionWheel.ShowItemPurchaseInfoPanel();

                // Detail window
                SelectionWheel.DetailedHighlightTitle.text            = SelectionWheel.GetBuildingSlotInstigator().ObjectName.ToUpper();
                SelectionWheel.DetailedHighlightDescriptionShort.text = SelectionWheel.GetBuildingSlotInstigator().ObjectDescriptionShort.ToUpper();
                SelectionWheel.DetailedHighlightDescriptionLong.text  = SelectionWheel.GetBuildingSlotInstigator().ObjectDescriptionLong;

                // Center panel
                SelectionWheel.CenterHighlightTitle.text = SelectionWheel.GetBuildingSlotInstigator().ObjectName;
                SelectionWheel.CenterTechLevelText.text  = "1";
                SelectionWheel.CenterSupplyText.text     = "0";
                SelectionWheel.CenterPowerText.text      = "0";
                SelectionWheel.CenterPopulationText.text = "0";

                // Update selection marker colour
                selectionWheel.SelectionMarkerImage.color = Color.grey;
            }
        }
    }