using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
상하좌우스와이프와 그냥 클릭을 구분 가능하게 함
사용할 스크립트에 MonoBehaviour 대신에 TouchGesture를 상속시켜주고
버추얼 함수들을 오버로딩해서 사용하셈
*/
public class TouchGesture : MonoBehaviour
{
private const float SwipeDis = 10;//스와이프 허용 범위 수정하고 싶으면 이거 수정하셈
private Vector2 StartPos;
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
StartPos = Input.mousePosition;
}
if (Input.GetMouseButtonUp(0))
{
Vector2 p = (Vector2)Input.mousePosition - StartPos;
if (Mathf.Abs(p.x) < SwipeDis && Mathf.Abs(p.y) < SwipeDis)
GetClick();
else
{
if (Mathf.Abs(p.x) > Mathf.Abs(p.y))
GetSwipe(StartPos, new Vector2(Mathf.Sign(p.x), 0));
else if (Mathf.Abs(p.x) < Mathf.Abs(p.y))
GetSwipe(StartPos, new Vector2(0, Mathf.Sign(p.y)));
}
}
}
public virtual void GetClick() { }
public virtual void GetSwipe(Vector2 StartPos, Vector2 dir) { }
}