32 lines
814 B
C#
32 lines
814 B
C#
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);
|
|
}
|
|
}
|
|
}
|