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); } }
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); }