feat: add FlickArea UI component for gesture capture

This commit is contained in:
2026-05-02 21:26:27 +07:00
parent 35a705e74f
commit 80dd6f9dc3

View File

@@ -0,0 +1,31 @@
using UnityEngine;
using UnityEngine.EventSystems;
public class FlickArea : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
public BallShooter ballShooter;
private Vector2 startPos;
private float startTime;
public void OnPointerDown(PointerEventData eventData)
{
startPos = eventData.position;
startTime = Time.time;
}
public void OnPointerUp(PointerEventData eventData)
{
Vector2 endPos = eventData.position;
float endTime = Time.time;
Vector2 swipeDelta = endPos - startPos;
float swipeTime = endTime - startTime;
// Ensure swipeTime is not 0 to avoid division by zero
if (swipeTime > 0 && ballShooter != null)
{
ballShooter.FlickShoot(swipeDelta, swipeTime);
}
}
}