private void CheckKeySetEvent(ref MultiKeySet keySet) { if (IsKeySetStay(keySet.KeySet)) { if (!keySet.KeyDownFlag) { // キーセットの押下が有効になった瞬間 keySet.KeyDownFlag = true; EventUtility.SafeInvokeUnityEvent(keySet.OnKeySetDown); } else { // キーセットの有効性が続いている間 EventUtility.SafeInvokeUnityEvent(keySet.OnKeySetStay); } } else { if (keySet.KeyDownFlag) { // キーセットの押下が無効になった瞬間 keySet.KeyDownFlag = false; EventUtility.SafeInvokeUnityEvent(keySet.OnKeySetUp); } } }
/// <summary> /// スワイプ条件を満たしている場合、スワイプコールバックを呼び出す。 /// </summary> private void CallSwipeEvent() { if (Time.time >= m_LimitTime) { return; } Vector2 dist = (Vector2)Input.mousePosition - m_StartPos; float dx = Mathf.Abs(dist.x); float dy = Mathf.Abs(dist.y); float requiredPx = m_WidthReference ? Screen.width * m_ValidWidth : Screen.height * m_ValidWidth; if (dy < dx) { if (requiredPx < dx) { m_SwipeDir = Mathf.Sign(dist.x) < 0 ? Vector2.left : Vector2.right; } } else { if (requiredPx < dy) { m_SwipeDir = Mathf.Sign(dist.y) < 0 ? Vector2.down : Vector2.up; } } if (m_SwipeDir != Vector2.zero) { EventUtility.SafeInvokeUnityEvent(m_OnSwipe, m_SwipeDir); } }
/// <summary> /// 指定した状態へと切り替えます。 /// 状態が切り替わった場合、状態変化をイベントとして発行します。 /// ただし、直前と同じ状態を指定した場合は、変化せず、イベントを発行しません。 /// </summary> public void SetEnabled(bool isEnabled) { if (m_IsEnabled == isEnabled) { return; } SetEnabledWithoutEvent(isEnabled); EventUtility.SafeInvokeUnityEvent(m_OnValueChanged, m_IsEnabled); }
public void ChangeTranslateLanguage(TranslateLanguage newLanguage) { if (newLanguage == m_CurrentTranslateLanguage) { return; } m_CurrentTranslateLanguage = newLanguage; EventUtility.SafeInvokeUnityEvent(m_OnChangeTranslateLanguage); }
private void Update() { if (!_isPressing) { return; } if (Time.time >= _requiredTime) { EventUtility.SafeInvokeUnityEvent(_onLongClick); _isPressing = false; } }
private void CallBackEvent(Action a, UnityEvent e) { EventUtility.SafeInvokeAction(a); EventUtility.SafeInvokeUnityEvent(e); }