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 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; } } }