mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-12 22:03:30 +08:00
docs(godot): 添加 Godot 设置模块文档
- 新增 Godot 设置模块概述和核心类说明 - 添加音频设置系统详细文档包括 AudioBusMap 和 GodotAudioSettings - 添加图形设置系统文档包括 GodotGraphicsSettings 实现 - 添加本地化设置系统文档包括 LocalizationMap 和 GodotLocalizationSettings - 提供完整的架构设计图和使用示例代码 - 添加 API 详细说明和技术实现细节 - 包含最佳实践、性能考虑和故障排除指南
This commit is contained in:
parent
41dd759379
commit
d588372cff
@ -3,7 +3,7 @@
|
|||||||
## 概述
|
## 概述
|
||||||
|
|
||||||
Godot 设置模块是 GFramework.Godot 的核心组件之一,专门为 Godot 引擎提供游戏设置系统的实现。该模块将通用的设置框架与 Godot
|
Godot 设置模块是 GFramework.Godot 的核心组件之一,专门为 Godot 引擎提供游戏设置系统的实现。该模块将通用的设置框架与 Godot
|
||||||
引擎的特定功能相结合,提供了音频设置和图形设置的完整解决方案。
|
引擎的特定功能相结合,提供了音频设置、图形设置和本地化设置的完整解决方案。
|
||||||
|
|
||||||
## 核心类
|
## 核心类
|
||||||
|
|
||||||
@ -61,23 +61,55 @@ Godot 图形设置实现类,继承自 GraphicsSettings 并实现 IApplyAbleSet
|
|||||||
- 窗口位置自动居中
|
- 窗口位置自动居中
|
||||||
- 多显示器支持
|
- 多显示器支持
|
||||||
|
|
||||||
|
### 本地化设置系统
|
||||||
|
|
||||||
|
#### LocalizationMap
|
||||||
|
|
||||||
|
本地化映射配置类,用于把设置系统中保存的用户可见语言值解析为:
|
||||||
|
|
||||||
|
- Godot `TranslationServer` 使用的 locale
|
||||||
|
- GFramework `ILocalizationManager` 使用的语言码
|
||||||
|
|
||||||
|
默认映射如下:
|
||||||
|
|
||||||
|
- `"简体中文"` -> Godot `zh_CN`,框架语言码 `zhs`
|
||||||
|
- `"English"` -> Godot `en`,框架语言码 `eng`
|
||||||
|
|
||||||
|
未知语言值会稳定回退到英文,避免重启后出现设置值与运行时语言状态不一致。
|
||||||
|
|
||||||
|
#### GodotLocalizationSettings
|
||||||
|
|
||||||
|
Godot 本地化设置实现类,负责把 `LocalizationSettings` 同时应用到 Godot 引擎与 GFramework 本地化管理器。
|
||||||
|
|
||||||
|
**功能:**
|
||||||
|
|
||||||
|
- 将语言设置应用到 `TranslationServer.SetLocale(...)`
|
||||||
|
- 同步 `ILocalizationManager.SetLanguage(...)`
|
||||||
|
- 通过统一映射避免 Godot locale 与框架语言码分裂
|
||||||
|
|
||||||
## 架构设计
|
## 架构设计
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph TD
|
graph TD
|
||||||
A[AudioSettings] --> B[GodotAudioSettings]
|
A[AudioSettings] --> B[GodotAudioSettings]
|
||||||
C[GraphicsSettings] --> D[GodotGraphicsSettings]
|
C[GraphicsSettings] --> D[GodotGraphicsSettings]
|
||||||
E[IApplyAbleSettings] --> B
|
E[LocalizationSettings] --> F[GodotLocalizationSettings]
|
||||||
E --> D
|
G[IApplyAbleSettings] --> B
|
||||||
|
G --> D
|
||||||
|
G --> F
|
||||||
|
|
||||||
G[AudioBusMap] --> B
|
H[AudioBusMap] --> B
|
||||||
|
I[LocalizationMap] --> F
|
||||||
|
|
||||||
B --> I[AudioServer API]
|
B --> J[AudioServer API]
|
||||||
D --> J[DisplayServer API]
|
D --> K[DisplayServer API]
|
||||||
|
F --> L[TranslationServer API]
|
||||||
|
F --> M[ILocalizationManager]
|
||||||
|
|
||||||
K[SettingsSystem] --> L[Apply Method]
|
N[SettingsSystem] --> O[Apply Method]
|
||||||
L --> B
|
O --> B
|
||||||
L --> D
|
O --> D
|
||||||
|
O --> F
|
||||||
```
|
```
|
||||||
|
|
||||||
## 使用示例
|
## 使用示例
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user