X value is X/2 of not even value, Y value is -1 *X/2 of not even value
Log example:
(-1.0, -1.0)
(-0.5, 0.5)Strange!!!
(-2.0, -1.0)
(-1.0, 0.5)Strange!!!
(-1.0, -1.0)
(-0.5, 0.5)Strange!!!
(-1.0, 0.0)
(-0.5, 0.0)Strange!!!
(-1.0, 0.0)
(-0.5, 0.0)Strange!!!
(0.0, -1.0)
(0.0, 0.5)Strange!!!
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UIElements;
public class ClickAndSwipeController1 : MonoBehaviour
{
public UIDocument mainMenuUIDocument;
public delegate void UnitClickHandler(Unit unit);
public delegate void RotateSwipeHandler(Vector2 rotation);
public event UnitClickHandler UnitClickedEvent;
public event RotateSwipeHandler RotateSwipeEvent;
private VisualElement visualElementRoot;
private VisualElement _swipeArea;
private bool _isDraged = false;
private bool _isMouseDown = false;
private Vector2 prevMouseDelta = new Vector2();
private void OnEnable()
{
visualElementRoot = mainMenuUIDocument.rootVisualElement.Q<VisualElement>("root");
_swipeArea = mainMenuUIDocument.rootVisualElement.Q<VisualElement>("ve-swipeArea");
_swipeArea.RegisterCallback<MouseMoveEvent>(CallbackMouseMove);
_swipeArea.RegisterCallback<MouseDownEvent>(CallbackMouseDown);
visualElementRoot.RegisterCallback<MouseUpEvent>(CallbackMouseUp);
}
private void CallbackMouseDown(MouseDownEvent evt)
{
if (evt.target == _swipeArea && !_isMouseDown)
{
_isMouseDown = true;
}
}
private void CallbackMouseMove(MouseMoveEvent evt)
{
if (evt.target == _swipeArea && _isMouseDown)
{
_isDraged = true;
//OnRotateSwipe(evt.mouseDelta);
prevMouseDelta.x = prevMouseDelta.x / 2;
prevMouseDelta.y = -prevMouseDelta.y / 2;
if (prevMouseDelta == evt.mouseDelta)
Debug.Log(evt.mouseDelta + "Strange!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
else
Debug.Log(evt.mouseDelta);
prevMouseDelta = evt.mouseDelta;
}
}
private void CallbackMouseUp(MouseUpEvent evt)
{
if (_isMouseDown && _isDraged)
{
_isDraged = false;
_isMouseDown = false;
}
else if (_isMouseDown && !_isDraged)
{
//CheckClick();
_isDraged = false;
_isMouseDown = false;
}
}
}