やりたいこと
シングルクリックか、ダブルクリックかを判定して個別に処理したい。
コード
using System.Collections; using UnityEngine; public class MyButton : MonoBehaviour { bool isClick; public void OnClick() { if (!isClick) { isClick = true; StartCoroutine(MeasureTime()); } else { DoubleClick(); isClick = false; } } IEnumerator MeasureTime() { var times = 0f; while (isClick) { times += Time.deltaTime; if (times < 0.5f) { yield return null; } else { isClick = false; SingleClick(); yield break; } } } void SingleClick() { Debug.Log("Single"); } void DoubleClick() { Debug.Log("Double"); } }
インスペクター設定
これをボタンのOnClickにアタッチして、OnClick()を設定する。
以上。