実はClickEventにclickCountがあるので、2以上で判定するだけです。
実際のプログラムは以下。一応ちゃんとUtils作りました。
Copy
using UnityEngine.UIElements; public static class UIUtils { const int DOUBLE_CLICK = 2; public static bool IsDoubleClick(ClickEvent clickEvent) { return clickEvent != null && clickEvent.clickCount >= DOUBLE_CLICK; } }
今回はボタンに設定しましたが、他も同様です。
Copy
using UnityEngine; using UnityEngine.UIElements; public class DoubleClick : MonoBehaviour { const string DOUBLE_CLICK_BUTTON_NAME = "double-click-button"; [SerializeField] private UIDocument document; void Awake() { var doubleClickButton = document.rootVisualElement.Q<Button>(DOUBLE_CLICK_BUTTON_NAME); doubleClickButton.RegisterCallback<ClickEvent>(e => { // ダブルクリック時 if (UIUtils.IsDoubleClick(e)) { Debug.Log("ダブルクリック"); } }); } }
ちゃんとダブルクリックが検知できます。
コメント
コメントを投稿