按下按钮时停止事件的发生

时间:2018-06-27 15:44:23

标签: c# android unity3d

我不确定为什么会这样,但是当用户点击屏幕上的UI按钮时,就会触发TapStart.Invoke();。只有在轻按屏幕并且点击不在按钮上时,它才会触发。

我认为这会阻止它:EventSystem.current.currentSelectedGameObject == null,但似乎并没有这样做。

void Update() {
  if (Input.touches.Length == 1) {
    Touch touch = Input.GetTouch(0);
    if (touch.phase == TouchPhase.Moved && HasStarted) {
      Swipe.Invoke(StartPosition, touch.position);
      IsSwiping = true;
    }

    if (touch.phase == TouchPhase.Ended) {
      if (!IsSwiping && EventSystem.current.currentSelectedGameObject == null) {
        if (GameManager.Instance.Toast.ResetReady) {
          TapRestart.Invoke();
        } else {
          TapStart.Invoke();
        }
      }
      IsSwiping = false;
      HasStarted = false;
    }
  }
}

0 个答案:

没有答案