/// <summary> /// When the user clicks the pointer (select button) or air-taps on the object, /// change the filter setting and the material. /// </summary> public void OnPointerClicked(MixedRealityPointerEventData eventData) { // Only proceed if the effect script is attached. if (loFiEffect == null) { return; } // Get the current source quality setting. AudioLoFiSourceQuality sourceQuality = loFiEffect.SourceQuality; // Select a new source quality setting. switch (sourceQuality) { case AudioLoFiSourceQuality.NarrowBandTelephony: sourceQuality = AudioLoFiSourceQuality.AmRadio; break; case AudioLoFiSourceQuality.AmRadio: sourceQuality = AudioLoFiSourceQuality.FullRange; break; case AudioLoFiSourceQuality.FullRange: sourceQuality = AudioLoFiSourceQuality.NarrowBandTelephony; break; } // Update the material to match the new source quality. SetEmitterMaterial(sourceQuality); // Update the source quality. loFiEffect.SourceQuality = sourceQuality; }
/// <summary> /// Changes the AudioLoFiEffect source quality on click. /// </summary> /// <param name="data">Not used by this implementation.</param> public void OnInputClicked(InputClickedEventData data) { // Make sure we found an AudioLoFiEffect script. if (loFiEffect == null) { return; } // Get the current source quality setting. AudioLoFiSourceQuality sourceQuality = loFiEffect.SourceQuality; // Increment the source quality. switch (sourceQuality) { case AudioLoFiSourceQuality.NarrowBandTelephony: sourceQuality = AudioLoFiSourceQuality.AmRadio; break; case AudioLoFiSourceQuality.AmRadio: sourceQuality = AudioLoFiSourceQuality.FullRange; break; case AudioLoFiSourceQuality.FullRange: sourceQuality = AudioLoFiSourceQuality.NarrowBandTelephony; break; } // Update the emitter material to match the new source quality. SetEmitterMaterial(sourceQuality); // Update the source quality. loFiEffect.SourceQuality = sourceQuality; }
private void SetEmitterMaterial(AudioLoFiSourceQuality sourceQuality) { Material emitterMaterial = UnknownQuality; // Determine the material for the emitter based on the source quality. switch (sourceQuality) { case AudioLoFiSourceQuality.NarrowBandTelephony: emitterMaterial = NarrowBandTelephony; break; case AudioLoFiSourceQuality.AmRadio: emitterMaterial = AmRadio; break; case AudioLoFiSourceQuality.FullRange: emitterMaterial = FullRange; break; } // Set the material on the emitter. if (emitterRenderer != null) { emitterRenderer.sharedMaterial = emitterMaterial; } }