// Update is called once per frame void Update() { if (transform.parent.parent.GetComponent <TimeLineScript>()) { target = transform.parent.GetComponent <MenuPrefScript>().target; } if (action) { action = false; doAct(); } }
public void remove(NoteTimeLineScript toRemove) { if (gs.tutoInc == 5) { gs.audioSource.Stop(); gs.audioSource.PlayOneShot(gs.audioClip [5]); gs.tutoInc = 6; } Note toDestroy = partition[toRemove.partitionIndex]; partition.RemoveAt(toRemove.partitionIndex); Destroy(toDestroy.NoteTimeLine); Destroy(toDestroy.corr); // refresh the page Refresh(); }
// Update is called once per frame void Update() { if (!isActive) { isActive = true; this.transform.GetChild(0).gameObject.SetActive(true); } float dist = 100f; SteamVR_TrackedController controller = GetComponent <SteamVR_TrackedController>(); Ray raycast = new Ray(transform.position, transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); if (previousContact && previousContact != hit.transform) { PointerEventArgs args = new PointerEventArgs(); if (controller != null) { args.controllerIndex = controller.controllerIndex; } args.distance = 0f; args.flags = 0; args.target = previousContact; OnPointerOut(args); previousContact = null; } if (bHit && previousContact != hit.transform) { PointerEventArgs argsIn = new PointerEventArgs(); if (controller != null) { argsIn.controllerIndex = controller.controllerIndex; } argsIn.distance = hit.distance; argsIn.flags = 0; argsIn.target = hit.transform; OnPointerIn(argsIn); previousContact = hit.transform; } if (!bHit) { previousContact = null; } if (bHit && hit.distance < 100f) { dist = hit.distance; } // user can play notes by keeping trigger pressed if they have nothing selected for note duration. NoteScript NS = hit.transform.GetComponent <NoteScript>(); if (hit.transform) { if (NS && !NS.transform.parent.parent.GetComponent <OctaveScript> ().TimeLine.GetComponent <TimeLineScript> ().selected) { gs.triggerPressedBefore = false; } if (controller != null && controller.triggerPressed && !gs.triggerPressedBefore) { gs.triggerPressedBefore = true; LengthBtnScript LB = hit.transform.GetComponent <LengthBtnScript> (); MusicBtnScript MB = hit.transform.GetComponent <MusicBtnScript> (); NoteTimeLineScript NTL = hit.transform.GetComponent <NoteTimeLineScript> (); MenuPrefScript MP = hit.transform.GetComponent <MenuPrefScript> (); LevelSelectScript LS = hit.transform.GetComponent <LevelSelectScript> (); if (NS) { NS.Play(); } if (LB) { LB.Select(); } if (MB) { MB.DoAction(); } if (NTL) { NTL.openMenu(); } if (MP) { MP.doAct(); } if (LS) { LS.EnterLevel(); } pointer.transform.localScale = new Vector3(thickness * 5f, thickness * 5f, dist); } else { if (controller != null && !controller.triggerPressed && !gs.waitForSceneLoad) { gs.triggerPressedBefore = false; } } } if (!(controller != null && controller.triggerPressed && !gs.triggerPressedBefore)) { pointer.transform.localScale = new Vector3(thickness, thickness, dist); } if (controller != null && controller.gripped) { gs.waitForSceneLoad = true; SceneManager.LoadScene(0); } SteamVR_Controller.Device device = SteamVR_Controller.Input((int)controller.controllerIndex); //If finger is on touchpad if (device.GetTouch(SteamVR_Controller.ButtonMask.Touchpad) && !touchedBefore) { touchedBefore = true; //Read the touchpad values Vector2 touchpad = device.GetAxis(EVRButtonId.k_EButton_SteamVR_Touchpad); // handle rotation via touchpad if (TLS) { if (touchpad.x > 0.3f) { TLS.pageToShow++; } else { if (touchpad.x < -0.3f) { TLS.pageToShow--; } } } else if (CFS) { if (touchpad.y > 0.3f) { CFS.showPrev(); } else { if (touchpad.y < -0.3f) { CFS.showNext(); } } } } else { if (!device.GetTouch(SteamVR_Controller.ButtonMask.Touchpad)) { touchedBefore = false; } } pointer.transform.localPosition = new Vector3(0f, 0f, dist / 2f); }