using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using UnityEngine.EventSystems;
|
using UnityEngine.Events;
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
[DisallowMultipleComponent]
|
public class DragSelectComponent : MonoBehaviour
|
{
|
[SerializeField] float m_Sensitive = 10f;
|
|
public event Action<int> onDragComplete;
|
|
private bool m_StartDrag = false;
|
|
Vector3 start_position = Vector3.zero;
|
|
private void LateUpdate()
|
{
|
if (Input.touchCount > 1)
|
{
|
m_StartDrag = false;
|
return;
|
}
|
if (Input.GetMouseButtonDown(0))
|
{
|
m_StartDrag = true;
|
start_position = Input.mousePosition;
|
}
|
else if (Input.GetMouseButtonUp(0) && m_StartDrag)
|
{
|
var delta = Input.mousePosition - start_position;
|
m_StartDrag = false;
|
if (Mathf.Abs(delta.x * 0.1f) >= m_Sensitive)
|
{
|
if (onDragComplete != null)
|
{
|
onDragComplete(delta.x > 0 ? -1 : 1);
|
}
|
}
|
}
|
}
|
|
void OnDisable()
|
{
|
m_StartDrag = false;
|
}
|
}
|
}
|
|