using System;
using UnityEngine;
using UnityEngine.Serialization;
namespace TEngine
{
///
/// 音频轨道组配置。
///
[Serializable]
public sealed class AudioGroupConfig
{
[SerializeField]
private string name = null;
[SerializeField]
private bool mute = false;
[SerializeField, Range(0f, 1f)]
private float volume = 1f;
[SerializeField]
private int agentHelperCount = 1;
///
/// 音效分类,可分别关闭/开启对应分类音效。
///
/// 命名与AudioMixer中分类名保持一致。
public AudioType AudioType;
///
/// 音频源中3D声音的衰减模式。
/// Logarithmic - 当你想要实现现实世界的衰减时使用此模式。
/// Linear - 当你想要随距离降低声音的音量时使用此模式。
/// Custom -当你想要使用自定义衰减时使用此模式。
///
public AudioRolloffMode audioRolloffMode = AudioRolloffMode.Logarithmic;
///
/// 最小距离。
///
public float minDistance = 1f;
///
/// 最大距离。
///
public float maxDistance = 500f;
///
/// 音频轨道组配置的名称。
///
public string Name => name;
///
/// 是否禁用。
///
public bool Mute => mute;
///
/// 音量大小。
///
public float Volume => volume;
///
/// 音频代理个数。
/// 命名与AudioMixer中个数保持一致。
///
public int AgentHelperCount => agentHelperCount;
}
}