Exemple #1
0
 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);
            }
        }
Exemple #3
0
    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);
    }