Exemplo n.º 1
0
    private AudioReverbPreset GetReverbPreset(Room.EAXEffectType effect)
    {
        string effectString = UFUtils.Capitalize(effect.ToString());

        if (Enum.IsDefined(typeof(AudioReverbPreset), effectString))
        {
            return((AudioReverbPreset)Enum.Parse(typeof(AudioReverbPreset), effectString));
        }

        switch (effect)
        {
        case Room.EAXEffectType.paddedcell: return(AudioReverbPreset.PaddedCell);

        case Room.EAXEffectType.stonecorridor: return(AudioReverbPreset.StoneCorridor);

        case Room.EAXEffectType.carpetedhallway: return(AudioReverbPreset.CarpetedHallway);

        case Room.EAXEffectType.parkinglot: return(AudioReverbPreset.ParkingLot);

        case Room.EAXEffectType.sewerpipe: return(AudioReverbPreset.SewerPipe);

        default:
            Debug.LogWarning("Encountered unkown eax effect type: " + effect);
            return(AudioReverbPreset.Off);
        }
    }
Exemplo n.º 2
0
    private void MakeEAX(Room.EAXEffectType eax, Vector3 roomCenter, float roomRadius)
    {
        switch (eax)
        {
        case Room.EAXEffectType.none:
        case Room.EAXEffectType.generic:
            return;
        }

        GameObject g = new GameObject("RoomEAX_" + eax);

        g.transform.SetParent(this.transform);
        g.transform.position = roomCenter;
        AudioReverbZone effect = g.AddComponent <AudioReverbZone>();

        effect.maxDistance  = roomRadius;
        effect.minDistance  = roomRadius / 2f;
        effect.reverbPreset = GetReverbPreset(eax);
    }