|
@@ -0,0 +1,70 @@
|
|
|
+using SC.XR.Unity.Module_InputSystem;
|
|
|
+using UnityEngine;
|
|
|
+
|
|
|
+public class MoveChange : MonoBehaviour
|
|
|
+{
|
|
|
+ [SerializeField] private GameObject moveGame;
|
|
|
+ [SerializeField] private Transform parent;
|
|
|
+
|
|
|
+ private bool isDown;
|
|
|
+ private float y;
|
|
|
+ void Start()
|
|
|
+ {
|
|
|
+ moveGame = GameObject.Find("ARSpaceForAll/mesh_test");
|
|
|
+ parent = GameObject.Find("ARSpaceForAll").transform;
|
|
|
+ SetPosRot();
|
|
|
+ DispatcherBase.KeyDownDelegateRegister(keyDownEventDelegate);
|
|
|
+ DispatcherBase.KeyUpDelegateRegister(keyUpEventDelegate);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void SetPosRot()
|
|
|
+ {
|
|
|
+ float posX = PlayerPrefs.GetFloat("meshTest_PosX");
|
|
|
+ float posZ = PlayerPrefs.GetFloat("meshTest_PosZ");
|
|
|
+ Vector3 pos = new Vector3(posX, 0, posZ);
|
|
|
+ moveGame.transform.localPosition = pos;
|
|
|
+
|
|
|
+ float rotY = PlayerPrefs.GetFloat("meshTest_RotY");
|
|
|
+ moveGame.transform.localEulerAngles = new Vector3(0, rotY, 0);
|
|
|
+ }
|
|
|
+ private void keyUpEventDelegate(InputKeyCode keyCode, InputDevicePartBase part)
|
|
|
+ {
|
|
|
+ Debug.Log("keyDownEventDelegate===>" + keyCode);
|
|
|
+ moveGame.transform.parent = parent;
|
|
|
+ y = moveGame.transform.position.y;
|
|
|
+ isDown = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void keyDownEventDelegate(InputKeyCode keyCode, InputDevicePartBase part)
|
|
|
+ {
|
|
|
+ if (!SetSceneActive.active)
|
|
|
+ return;
|
|
|
+ Debug.Log("keyUpEventDelegate===>" + keyCode);
|
|
|
+#if UNITY_EDITOR
|
|
|
+ moveGame.transform.parent = OpenXRCamera.Instance.head;
|
|
|
+#else
|
|
|
+ switch( DeviceType.type)
|
|
|
+ {
|
|
|
+ case "Nreal":
|
|
|
+ moveGame.transform.parent = API_GSXR_Module_InputSystem_KS.GSXR_KSRight.transform;
|
|
|
+ break;
|
|
|
+ case "A01":
|
|
|
+ moveGame.transform.parent = OpenXRCamera.Instance.head;
|
|
|
+ break;
|
|
|
+ case "Phone":
|
|
|
+ moveGame.transform.parent = OpenXRCamera.Instance.head;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+#endif
|
|
|
+ isDown = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ void Update()
|
|
|
+ {
|
|
|
+ if (isDown && SetSceneActive.active)
|
|
|
+ {
|
|
|
+ moveGame.transform.eulerAngles = new Vector3(0, moveGame.transform.eulerAngles.y, 0);
|
|
|
+ moveGame.transform.position = new Vector3(moveGame.transform.position.x, y, moveGame.transform.position.z);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|