46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
// Copyright (c) 2017 Augie R. Maddox, Guavaman Enterprises. All rights reserved.
|
|
|
|
#pragma warning disable 0649
|
|
|
|
namespace Rewired.Demos {
|
|
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems;
|
|
|
|
[AddComponentMenu("")]
|
|
[RequireComponent(typeof(Image))]
|
|
public class TouchButtonExample : MonoBehaviour, IPointerDownHandler, IPointerUpHandler {
|
|
|
|
public bool allowMouseControl = true;
|
|
|
|
public bool isPressed {
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
private void Awake() {
|
|
if(SystemInfo.deviceType == DeviceType.Handheld) allowMouseControl = false; // disable mouse control on touch devices
|
|
}
|
|
|
|
private void Restart() {
|
|
isPressed = false;
|
|
}
|
|
|
|
void IPointerDownHandler.OnPointerDown(PointerEventData eventData) {
|
|
if(!allowMouseControl && IsMousePointerId(eventData.pointerId)) return;
|
|
isPressed = true;
|
|
}
|
|
|
|
void IPointerUpHandler.OnPointerUp(PointerEventData eventData) {
|
|
if(!allowMouseControl && IsMousePointerId(eventData.pointerId)) return;
|
|
isPressed = false;
|
|
}
|
|
|
|
private static bool IsMousePointerId(int id) {
|
|
return id == PointerInputModule.kMouseLeftId ||
|
|
id == PointerInputModule.kMouseRightId ||
|
|
id == PointerInputModule.kMouseMiddleId;
|
|
}
|
|
}
|
|
} |