private void PlayAudioInstructions() { InteractionTechnique it = GetInteractionTechnique(); AudioClip[] instructions = it.GetInstructions(); if (Input.GetKeyDown(KeyCode.RightArrow)) { if (currentInstruction < instructions.Length - 1) { currentInstruction++; instructionsAudioSource.Stop(); instructionsAudioSource.clip = instructions[currentInstruction]; instructionsAudioSource.Play(); UpdateStatusText(); } } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { if (currentInstruction > -1) { if (currentInstruction > 0) { currentInstruction--; } instructionsAudioSource.Stop(); instructionsAudioSource.clip = instructions[currentInstruction]; instructionsAudioSource.Play(); UpdateStatusText(); } } }
private void Action(SteamVR_RenderModel arg0, bool arg1) { InteractionTechnique interactionTechnique = TaskController.Instance.GetInteractionTechnique(); if (interactionTechnique && !interactionTechnique.moveHoverPoint) { return; } Hand hand = arg0.GetComponentInParent <Hand>(); if (!hand) { return; } Transform hoverPoint = hand.transform.Find("HoverPoint"); if (!hoverPoint) { return; } if (arg0.renderModelName.Contains("vive_cosmos")) { hoverPoint.localPosition = ViveCosmosHoverPointPosition; } else if (arg0.renderModelName.Contains("controller_vive")) { hoverPoint.localPosition = ViveProHoverPointPosition; } }
public InteractionTechnique GetInteractionTechnique() { InteractionTechnique interactionTechnique = null; if (currentTechnique != null) { interactionTechnique = currentTechnique.GetComponent <InteractionTechnique>(); if (!interactionTechnique) { interactionTechnique = currentTechnique.GetComponentInChildren <InteractionTechnique>(); } } return(interactionTechnique); }
private void ParseStudyConfigFile() { string studyConfigFile = Properties.Settings.Default.InteractionTechniques; InteractionTechniques = new List<InteractionTechnique>(); string[] techniques = studyConfigFile.Split(';'); foreach (string t in techniques) { string[] parts = t.Split(':'); string name = parts[0]; string[] conditions = parts.Length > 1 ? parts[1].Split(',') : null; if (name != "") { InteractionTechnique i = new InteractionTechnique(name, conditions); InteractionTechniques.Add(i); } } Random rnd = new Random(DateTime.UtcNow.Second); InteractionTechniques = InteractionTechniques.OrderBy(x => rnd.Next()).ToList(); }