diff --git a/Assets/Scripts/REFACTORING/Application/Shared/Manager/UI/Panel/Draggable/DraggablePanelController.cs b/Assets/Scripts/REFACTORING/Application/Shared/Manager/UI/Panel/Draggable/DraggablePanelController.cs index 4fa77bd4..54ae3d48 100644 --- a/Assets/Scripts/REFACTORING/Application/Shared/Manager/UI/Panel/Draggable/DraggablePanelController.cs +++ b/Assets/Scripts/REFACTORING/Application/Shared/Manager/UI/Panel/Draggable/DraggablePanelController.cs @@ -33,6 +33,8 @@ public abstract class DraggablePanelController : PanelController().ShowItemDetails(itemSlot, ShopItemCardMode.Sell); } + #endregion + + #region tooltip + public override void MouseEnter(ItemSlot itemSlot, PointerEventData eventData) + { + // check if there is item on slot else retrun null breaking function + base.MouseEnter(itemSlot, eventData); + + // todo open tooltip panel with item data + // Tooltip.OpenPanel(itemSlot. Item); - instantiate tooltip panel object + } + + public override void MouseExit(ItemSlot itemSlot, PointerEventData eventData) + { + // Tooltip.CloePanel(); - destroy gameobject if panel is opened + } + + #endregion } diff --git a/Assets/Scripts/REFACTORING/Models/Panel/Slot/ISlot.cs b/Assets/Scripts/REFACTORING/Models/Panel/Slot/ISlot.cs index 4361a35d..159e3364 100644 --- a/Assets/Scripts/REFACTORING/Models/Panel/Slot/ISlot.cs +++ b/Assets/Scripts/REFACTORING/Models/Panel/Slot/ISlot.cs @@ -18,6 +18,8 @@ public interface ISlot event Action OnDragEvent; event Action OnDropEvent; event Action OnPointerClickEvent; + event Action OnPointerEnterEvent; + event Action OnPointerExitEvent; //(B)Islot // as B public void SetupSlot(int _number, EquippableItem _item, WarehousePanelController _PanelController); diff --git a/Assets/Scripts/REFACTORING/Models/Panel/Slot/ItemSlot.cs b/Assets/Scripts/REFACTORING/Models/Panel/Slot/ItemSlot.cs index d26c9d25..e6e39b24 100644 --- a/Assets/Scripts/REFACTORING/Models/Panel/Slot/ItemSlot.cs +++ b/Assets/Scripts/REFACTORING/Models/Panel/Slot/ItemSlot.cs @@ -6,7 +6,15 @@ using UnityEngine.UI; using UnityEngine.EventSystems; using System; // for Action type -public class ItemSlot : MonoBehaviour, ISlot, IBeginDragHandler, IEndDragHandler, IDragHandler, IDropHandler, IPointerClickHandler +public class ItemSlot : MonoBehaviour, + ISlot, + IBeginDragHandler, + IEndDragHandler, + IDragHandler, + IDropHandler, + IPointerClickHandler, + IPointerEnterHandler, + IPointerExitHandler { [Header("UI Stuff to change")] [SerializeField] private TextMeshProUGUI slotItemNumberText; @@ -48,6 +56,8 @@ public class ItemSlot : MonoBehaviour, ISlot, IBeginDragHandler, IEndDragHandler public event Action OnDragEvent; public event Action OnDropEvent; public event Action OnPointerClickEvent; + public event Action OnPointerEnterEvent; + public event Action OnPointerExitEvent; /* public ItemSlot() { } public ItemSlot(int number, EquippableItem item = null) @@ -161,5 +171,17 @@ public class ItemSlot : MonoBehaviour, ISlot, IBeginDragHandler, IEndDragHandler if (OnPointerClickEvent != null) OnPointerClickEvent(this, eventData); } + + public void OnPointerEnter(PointerEventData eventData) + { + if (OnPointerEnterEvent != null) + OnPointerEnterEvent(this, eventData); + } + + public void OnPointerExit(PointerEventData eventData) + { + if (OnPointerExitEvent != null) + OnPointerExitEvent(this, eventData); + } #endregion }