protected override void ApplyValue(float value) { if (sound != null) { float pitch = Mathf.Lerp(AudioUtils.CentsToRatio(from), AudioUtils.CentsToRatio(to), value); sound.SetPitch(pitch); } else if (unitySound != null) { float pitch2 = Mathf.Lerp(AudioUtils.CentsToRatio(from), AudioUtils.CentsToRatio(to), value); unitySound.pitch = pitch2; } }
public void OnReceiveCollisionAudio(NetStream stream) { if (showDebug) { Debug.Log(base.name + " Recieve Collision Audio "); } ushort libId = (ushort)stream.ReadUInt32(8); AudioChannel channel = (!stream.ReadBool()) ? (stream.ReadBool() ? AudioChannel.Body : AudioChannel.Physics) : AudioChannel.Footsteps; Vector3 b = NetVector3.Read(stream, 3, 10).Dequantize(100f); Vector3 pos = base.transform.position + b; float emit = AudioUtils.DBToValue(NetFloat.Dequantize(stream.ReadInt32(6), 64f, 6) - 32f); float num = AudioUtils.CentsToRatio(NetFloat.Dequantize(stream.ReadInt32(3, 8), 4800f, 8)); CollisionAudioHitConfig config = CollisionAudioEngine.instance.GetConfig(libId); if (config != null) { if (showDebug) { Debug.Log(base.name + " There is no audio engine "); } config.PlayWithKnownEmit(channel, null, pos, emit, num); } }
public static float DrawHorizontalSlider(Rect rect, float from, float to, float def, float value, AudioSliderType type) { EnsureStyle(); GUI.color = new Color(0f, 0f, 0f, 0f); bool flag = Event.current.button == 1 && rect.Contains(Event.current.mousePosition); if (flag) { value = def; } float num; switch (type) { case AudioSliderType.Level: num = value; break; case AudioSliderType.Volume: num = DBtoFader(AudioUtils.ValueToDB(value)); break; case AudioSliderType.Pitch: num = AudioUtils.RatioToCents(value); break; case AudioSliderType.Linear: num = value; break; case AudioSliderType.Log2: num = Mathf.Log(value, 2f); from = Mathf.Log(from, 2f); to = Mathf.Log(to, 2f); break; case AudioSliderType.Log10: num = Mathf.Log(value, 10f); from = Mathf.Log(from, 10f); to = Mathf.Log(to, 10f); break; default: throw new InvalidOperationException(); } float num2 = (!flag) ? GUI.HorizontalSlider(rect, num, from, to) : num; GUI.color = Color.white; DrawRect(new Rect(rect.x + 4f, rect.y + 4f, rect.width - 6f, rect.height - 8f), new Color(0.1f, 0.1f, 0.1f, 1f)); DrawRect(new Rect(rect.x + 5f, rect.y + 5f, (rect.width - 8f) * Mathf.InverseLerp(from, to, num2), rect.height - 10f), new Color(0.25f, 0.5f, 0.25f, 1f)); float num3; switch (type) { case AudioSliderType.Level: num3 = num2; break; case AudioSliderType.Volume: num3 = FaderToDB(num2); num2 = ((num2 != num) ? AudioUtils.DBToValue(FaderToDB(num2)) : value); break; case AudioSliderType.Pitch: num3 = num2; num2 = ((num2 != num) ? AudioUtils.CentsToRatio(num2) : value); break; case AudioSliderType.Linear: num3 = num2; break; case AudioSliderType.Log2: num2 = ((num2 != num) ? Mathf.Pow(2f, num2) : value); num3 = num2; break; case AudioSliderType.Log10: num2 = ((num2 != num) ? Mathf.Pow(10f, num2) : value); num3 = num2; break; default: throw new InvalidOperationException(); } GUI.Label(new Rect(rect.x, rect.y, rect.width, rect.height), FormatNumber(num3), style); return(num2); }