Files
AudioSystem/Assets/Scripts/OCES/Audio/HandWritten/HandWrittenDefinitions.cs
T
Oliver a4f2eb645a feat: 重构音频系统 - 重命名AudioScheduler为SfxSystem并添加Accented音效类型
- 将AudioScheduler重命名为SfxSystem,统一命名规范
- 新增MixingType.Accented音效类型,支持强调音效独立混音
- 重构音频混合器层级: Master下新增Regular中间层
- SfxSystem使用外部AudioSourcePool,与MusicSystem隔离
- 修复ambiencePoolRoot父节点错误(原错误挂载到musicPoolRoot)
- Play方法支持onPlay回调
- 同步更新AudioObject.bytes二进制配置数据
2026-04-03 11:53:15 +08:00

88 lines
2.0 KiB
C#

using System.IO;
namespace OCES.Audio
{
/// <summary>
/// 替换策略类型
/// </summary>
public enum KillMode
{
Oldest, // 打断最早开始的
Newest, // 打断最新开始的
}
/// <summary>
/// 混音分组
/// </summary>
public enum MixingType
{
Sfx = 0,
Voice,
Accented,
}
/// <summary>
/// 声音容器类型
/// </summary>
public enum ContainerType
{
Random = 0,
Sequence,
Blend,
}
public enum BlendCrossFadeType
{
Exponential = 0,
Linear,
Logarithmic,
}
public enum AlignMode
{
Immediate,
Beat,
Bar,
}
public enum ActiveSoundState
{
Pending, // 已进入调度,但还没真正播放
Playing, // 已经开始播放
Finished,
}
public interface IBinarySerializable
{
void DeSerialize(BinaryReader reader);
void Serialize(BinaryWriter writer);
}
// ─────────────────────────────────────────────
// 辅助接口,让泛型方法同时处理 MusicPath 和 AmbiencePath
// ─────────────────────────────────────────────
public interface IPathEntry
{
uint Id { get; }
string Path { get; }
uint ContainerId { get; }
int Priority { get; }
}
public interface ITransitionConfig
{
float FadeOutOffset { get; }
float FadeOutTime { get; }
float FadeInOffset { get; }
float FadeInTime { get; }
}
public partial class MusicTransition : ITransitionConfig { }
public partial class AmbienceTransition : ITransitionConfig { }
public partial class MusicPath : IPathEntry { }
public partial class AmbiencePath : IPathEntry { }
}