projectEli/Assets/Inventory System/Scripts/UI/DragWindowUI.cs
2023-01-15 03:39:47 -08:00

65 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using TMPro;
namespace SimpleInventorySystem
{
public class DragWindowUI : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler, IPointerDownHandler
{
private RectTransform dragRectTransform;
private Canvas canvas;
private Image backgroundImage;
private Color backgroundColor;
public TextMeshProUGUI title;
public void OnBeginDrag(PointerEventData eventData)
{
backgroundColor.a = .4f;
backgroundImage.color = backgroundColor;
}
public void OnDrag(PointerEventData eventData)
{
dragRectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor;
}
public void OnEndDrag(PointerEventData eventData)
{
backgroundColor.a = .8f;
backgroundImage.color = backgroundColor;
}
public void OnPointerDown(PointerEventData eventData)
{
dragRectTransform.SetAsLastSibling();
}
public void CloseWindow()
{
//Destroy(dragRectTransform.gameObject);
transform.parent.gameObject.SetActive(false);
}
void Awake()
{
dragRectTransform = transform.parent.GetComponent<RectTransform>();
backgroundImage = GetComponent<Image>();
backgroundColor = backgroundImage.color;
}
// Start is called before the first frame update
void Start()
{
canvas = SimpleInventorySystem.InventorySystem.instance.inventoryUI;
}
// Update is called once per frame
void Update()
{
}
}
}