You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR;
namespace Autohand.Demo{
public class OpenXRTeleporterLink : MonoBehaviour{
public Teleporter hand;
public InputActionProperty startTeleportAction;
public InputActionProperty finishTeleportAction;
bool teleporting = false;
void OnEnable() {
if(startTeleportAction.action != null) startTeleportAction.action.Enable();
if (startTeleportAction.action != null) startTeleportAction.action.performed += StartTeleportAction;
if (finishTeleportAction.action != null) finishTeleportAction.action.Enable();
if (finishTeleportAction.action != null) finishTeleportAction.action.performed += FinishTeleportAction;
}
void OnDisable() {
if (startTeleportAction.action != null) startTeleportAction.action.performed -= StartTeleportAction;
if (finishTeleportAction.action != null) finishTeleportAction.action.performed -= FinishTeleportAction;
}
void StartTeleportAction(InputAction.CallbackContext a) {
if(!teleporting){
hand.StartTeleport();
teleporting = true;
}
}
void FinishTeleportAction(InputAction.CallbackContext a) {
if(teleporting){
hand.Teleport();
teleporting = false;
}
}
}
}