//========= Copyright 2016-2018, HTC Corporation. All rights reserved. =========== using UnityEngine; using UnityEngine.EventSystems; namespace HTC.UnityPlugin.Pointer3D { public class StandaloneEventData : Pointer3DEventData { public enum StandaloneButton { Fire1, Fire2, Fire3, MouseLeft, MouseMiddle, MouseRight, } public readonly StandaloneButton standaloneButton; public StandaloneEventData(Pointer3DRaycaster ownerRaycaster, EventSystem eventSystem, StandaloneButton sbtn, InputButton ibtn) : base(ownerRaycaster, eventSystem) { standaloneButton = sbtn; button = ibtn; } public override bool GetPress() { switch (standaloneButton) { case StandaloneButton.Fire1: return Input.GetButton("Fire1"); case StandaloneButton.Fire2: return Input.GetButton("Fire2"); case StandaloneButton.Fire3: return Input.GetButton("Fire3"); case StandaloneButton.MouseLeft: return Input.GetMouseButton(0); case StandaloneButton.MouseRight: return Input.GetMouseButton(1); case StandaloneButton.MouseMiddle: return Input.GetMouseButton(2); } return false; } public override bool GetPressDown() { switch (standaloneButton) { case StandaloneButton.Fire1: return Input.GetButtonDown("Fire1"); case StandaloneButton.Fire2: return Input.GetButtonDown("Fire2"); case StandaloneButton.Fire3: return Input.GetButtonDown("Fire3"); case StandaloneButton.MouseLeft: return Input.GetMouseButtonDown(0); case StandaloneButton.MouseRight: return Input.GetMouseButtonDown(1); case StandaloneButton.MouseMiddle: return Input.GetMouseButtonDown(2); } return false; } public override bool GetPressUp() { switch (standaloneButton) { case StandaloneButton.Fire1: return Input.GetButtonUp("Fire1"); case StandaloneButton.Fire2: return Input.GetButtonUp("Fire2"); case StandaloneButton.Fire3: return Input.GetButtonUp("Fire3"); case StandaloneButton.MouseLeft: return Input.GetMouseButtonUp(0); case StandaloneButton.MouseRight: return Input.GetMouseButtonUp(1); case StandaloneButton.MouseMiddle: return Input.GetMouseButtonUp(2); } return false; } } }