Files
CaptainDiceDubloons_IOS_unity/Assets/SGModule/ConfigLoader/README.md
T
2026-06-04 10:22:38 +08:00

71 lines
2.2 KiB
Markdown

# ⚙️ ConfigLoader 配置加载模块
此模块负责配置文件的加载与检测,依赖于 `Common` 通用模块,请确保已安装该模块。
### 主要功能
- 📂 配置文件加载
- 🔍 配置字段缺失检测
- ❌ 配置字段冗余检测
- ⚙️ 自动化插件安装
- 📝 日志标准化输出
------
## ⚠️ 注意事项
导入项目后,会弹出插件安装提示框。点击“确定”后,插件将自动安装;若点击“取消”,脚本重新编译时仍会再次弹出提示。
- 插件安装需要一定时间,请耐心等待。安装完成后会有弹窗提示。
- 安装完成后,会自动生成配置文件夹 `Configs`,请将游戏配置文件复制到此文件夹中。
- **请勿修改配置文件名**。如需替换配置文件,请先删除旧文件,确保文件夹中每个配置只有一份。
- 游戏首次运行时,会自动将该文件夹复制到游戏的数据存储位置。
------
## 🚀 使用指南
在登录成功后,调用 `ConfigLoader``Init` 方法传入所需参数,具体参数请查看方法注释。
> 注意:
>
> - **List 类型**的配置需继承 `ConfigModel<T, T0>`,不再需要之前的 `IDataList` 接口。
> - **非 List 类型**配置继承 `ConfigModel<T>`。
### 初始化示例
```csharp
var loginModel = NetworkKit.Instance.GetLoginModel();
ConfigLoader.Instance.Init(
loginModel.setting,
loginModel.cdn_url,
new List<ConfigModel> {
new CommonModel("Common"),
new SignDailyRewardModel("SignDailyReward"),
new TurntableModel("turntable"),
// 其它配置...
},
state => {
Debug.Log($"配置加载状态: {state}");
},
(errorName, message) => {
Debug.LogError($"配置解析错误: {errorName},错误信息:{message}");
});
```
------
## 🔍 读取配置示例
```csharp
// 读取基础配置
var model = ConfigLoader.Instance.GetConfig<CommonModel>();
// 解析自定义配置
ConfigLoader.Instance.ParesPersonalizedConfig(new PrizeWheelDataModel("PrizeWheelData"), "prize");
// 获取自定义配置
var personalizedConfig = ConfigLoader.Instance.GetPersonalizedConfig<PrizeWheelDataModel>("prize");
```