GeWuYou 970b8d3b96 refactor(settings): 重构设置系统和数据仓库实现
- 将音频和图形设置从 IResettable, IVersioned 迁移到 ISettingsData 接口
- 添加数据位置接口 IDataLocation 和数据位置提供者接口 IDataLocationProvider
- 修改数据仓库实现,使用数据位置替代类型进行数据操作
- 更新数据仓库的加载、保存、删除和存在检查方法以使用数据位置参数
- 重命名 IPersistentApplyAbleSettings 为 IResetApplyAbleSettings 并更新其实现
- 创建 ISettingsData 接口整合设置数据的基础功能
- 更新设置模型实现,统一管理设置数据的生命周期和应用器
- 添加版本化数据接口 IVersionedData 和可从源加载接口 ILoadableFrom
- 实现数据位置到存储键的扩展方法
- 更新数据事件类型以使用数据位置信息
- 重构设置模型的数据加载、保存和应用逻辑
- [skip ci]
2026-01-30 16:48:09 +08:00

44 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace GFramework.Game.Abstractions.setting.data;
/// <summary>
/// 音频设置类,用于管理游戏中的音频配置
/// </summary>
public class AudioSettings : ISettingsData
{
/// <summary>
/// 获取或设置主音量,控制所有音频的总体音量
/// </summary>
public float MasterVolume { get; set; } = 1.0f;
/// <summary>
/// 获取或设置背景音乐音量控制BGM的播放音量
/// </summary>
public float BgmVolume { get; set; } = 0.8f;
/// <summary>
/// 获取或设置音效音量控制SFX的播放音量
/// </summary>
public float SfxVolume { get; set; } = 0.8f;
/// <summary>
/// 重置音频设置为默认值
/// </summary>
public void Reset()
{
// 重置所有音量设置为默认值
MasterVolume = 1.0f;
BgmVolume = 0.8f;
SfxVolume = 0.8f;
}
/// <summary>
/// 获取或设置设置数据的版本号
/// </summary>
public int Version { get; set; } = 1;
/// <summary>
/// 获取设置数据最后修改的时间
/// </summary>
public DateTime LastModified { get; } = DateTime.Now;
}