Commit 1b6d4c2b authored by 13정준영's avatar 13정준영

UI Interaction

parent a8ed1d1d
......@@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: DefaultNote
m_Name: DefaultNote 1
m_Shader: {fileID: 4800000, guid: 19d29d358ae9fed4b8a0fd347863afc5, type: 3}
m_ShaderKeywords: _EMISSION _SPECULARHIGHLIGHTS_OFF
m_LightmapFlags: 1
......
......@@ -22,7 +22,6 @@
#00113:E1
#00114:E3
#00116:E2
#00312:37
......
This diff is collapsed.
fileFormatVersion: 2
guid: d5e3d585ae166d14caf9bcac636e6054
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -82,21 +82,21 @@ public class PlayEngine : SingletonBehaviour<PlayEngine>
private void Update()
{
//get laser
var handObjects = player.GetComponent<Valve.VR.InteractionSystem.Player>().hands;
var leftHandObject = handObjects[0];
var rightHandObject = handObjects[1];
TrackHand(leftHandObject, leftHandTracker);
TrackHand(rightHandObject, rightHandTracker);
if (level != null)
{
var playbackTime = AudioSettings.dspTime - startDspTime;
PlayerInput input = new PlayerInput();
input.time = playbackTime;
//get laser
var handObjects = player.GetComponent<Valve.VR.InteractionSystem.Player>().hands;
var leftHandObject = handObjects[0];
var rightHandObject = handObjects[1];
TrackHand(leftHandObject, leftHandTracker);
TrackHand(rightHandObject, rightHandTracker);
level.UpdateNotes(playbackTime);
if (Input.GetKeyDown(KeyCode.Alpha1))
......@@ -170,6 +170,56 @@ public class PlayEngine : SingletonBehaviour<PlayEngine>
audioSource.time += 1.0f;
startDspTime -= 1.0f;
}
// UI
if (level == null)
{
try // when no VR device is available, SteamVR causes an error.
{
// TODO: handle vr input
if (fire.GetStateDown(leftHand))
{
if (leftHandObject)
{
var gun = leftHandObject.GetComponentInChildren<GunBehaviour>();
gun.Fire();
ClickButton(gun.GetRay());
}
}
if (fire.GetStateDown(rightHand))
{
if (rightHandObject)
{
var gun = rightHandObject.GetComponentInChildren<GunBehaviour>();
gun.Fire();
ClickButton(gun.GetRay());
}
}
}
catch (NullReferenceException e)
{
if (e.Source != "SteamVR") // ignore SteamVR, rethrow otherwise
{
Debug.LogError(e.StackTrace);
throw e;
}
}
}
}
private void ClickButton(Ray ray)
{
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
var button = hit.collider.gameObject.GetComponent<UnityEngine.UI.Button>();
if (button)
{
button.onClick.Invoke();
}
}
}
private void TrackHand(Hand handObject, MotionTracker tracker)
......
......@@ -3,7 +3,8 @@
--- !u!78 &1
TagManager:
serializedVersion: 2
tags: []
tags:
- Deco
layers:
- Default
- TransparentFX
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment