GeWuYou 0b7c64fd99 feat(data): 添加数据仓库功能并重构设置系统接口
- 新增 DataRepository 类实现数据存储和读取功能
- 添加数据仓库配置选项类 DataRepositoryOptions
- 定义 IData 接口作为通用数据标记接口
- 实现数据加载、保存、删除等异步操作方法
- 添加数据事件系统包括加载、保存、删除等事件类型
- 将 ISettingsData 接口重命名为 IResettable 并更新相关实现
- 更新 SettingsModel 和 SettingsPersistence 使用新的接口
- 修改 SettingsBatchChangedEvent 和 SettingsBatchSavedEvent 使用 IResettable 类型
- 重构 AudioSettings、GraphicsSettings、LocalizationSettings 继承新接口
- 更新 IPersistentApplyAbleSettings 接口依赖为 IResettable
2026-01-28 20:08:34 +08:00

44 lines
1.5 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.

// Copyright (c) 2026 GeWuYou
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
using GFramework.Core.Abstractions.versioning;
namespace GFramework.Game.Abstractions.setting.data;
/// <summary>
/// 本地化设置类,用于管理游戏的语言本地化配置
/// 实现了ISettingsData接口提供设置数据功能实现IVersioned接口提供版本控制功能
/// </summary>
public class LocalizationSettings : IResettable, IVersioned
{
/// <summary>
/// 获取或设置当前使用的语言
/// </summary>
/// <value>默认值为"简体中文"</value>
public string Language { get; set; } = "简体中文";
/// <summary>
/// 重置本地化设置到默认状态
/// 将Language属性恢复为默认的"简体中文"值
/// </summary>
public void Reset()
{
Language = "简体中文";
}
/// <summary>
/// 获取或设置设置数据的版本号
/// </summary>
/// <value>默认版本号为1</value>
public int Version { get; set; } = 1;
}