MayHeCome/Assets/ChengHui/Script/ClickArea.cs

63 lines
1.6 KiB
C#
Raw Normal View History

2024-12-18 09:55:34 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class ClickArea : MonoBehaviour,IPointerDownHandler,IPointerUpHandler,IPointerExitHandler
{
public Buildings buildings;
public bool corotineStart = false;
private IEnumerator DR;
private void Start()
{
buildings = transform.parent.GetComponent<Buildings>();
}
public void OnPointerDown(PointerEventData eventData)
{
if (!BuildingsManager.Instance.isDragActive)
{
buildings.AddResources_Click();
}
else
{
if (!corotineStart)
{
buildings.AddResources_Click();
DR = DragToAddRes();
StartCoroutine(DR);
corotineStart = true;
}
}
}
public void OnPointerUp(PointerEventData eventData)
{
if (BuildingsManager.Instance.isDragActive && corotineStart)
{
StopCoroutine(DR);
corotineStart = false;
}
}
public void OnPointerExit(PointerEventData eventData)
{
if (BuildingsManager.Instance.isDragActive && corotineStart)
{
StopCoroutine(DR);
corotineStart = false;
}
}
private IEnumerator DragToAddRes()
{
int x = 0;
while (true)
{
if (x >= 1)
{
buildings.AddResources_Click();
x = 0;
}
x++;
yield return new WaitForSeconds(0.2f);
}
}
}