Files
Godot-test/PROJECT_STRUCTURE.md
2025-06-16 07:59:50 +08:00

112 lines
3.7 KiB
Markdown
Raw Permalink 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.

# 项目结构说明
## 📁 项目根目录结构
```
test/
├── 📁 scripts/ # 脚本文件(按功能分类)
│ ├── 📁 core/ # 核心系统脚本
│ ├── 📁 data/ # 数据管理脚本
│ ├── 📁 inventory/ # 库存系统脚本
│ ├── 📁 production/ # 生产系统脚本
│ └── 📁 ui/ # 用户界面脚本
├── 📁 scenes/ # 场景文件
├── 📁 data/ # 数据文件
│ ├── 📁 config/ # 配置文件
│ ├── 📁 translations/ # 本地化文件
│ └── 📁 imports/ # 导入配置文件
├── 📁 assets/ # 资源文件
└── 📄 project.godot # 项目配置文件
```
## 📂 详细文件分类
### 🔧 scripts/ - 脚本文件
#### 📁 core/ - 核心系统
- `GameScene.cs` - 主游戏场景控制器
#### 📁 data/ - 数据管理
- `GameData.cs` - 游戏数据管理器
- `ResourceCategoryManager.cs` - 资源分类管理器
#### 📁 inventory/ - 库存系统
- `InventoryManager.cs` - 库存管理器(单例)
- `InventoryTableManager.cs` - 库存表格UI管理器
- `InventoryCategoryManager.cs` - 库存分类管理器
#### 📁 production/ - 生产系统
- `ManualCollectionPanel.cs` - 手动采集面板
- `ResourceGrid.cs` - 资源网格组件
#### 📁 ui/ - 用户界面
- `DynamicTabManager.cs` - 动态标签页管理器(管理"合成"和"生产线"标签)
- `MainMenu.cs` - 主菜单控制器
### 📁 scenes/ - 场景文件
- `game_scene.tscn` - 主游戏场景
- `ItemPanel.tscn` - 物品面板模板
- `InventoryItem.tscn` - 库存物品模板
### 📁 data/ - 数据文件
#### 📁 config/ - 配置文件
- `items.csv` - 物品数据配置
- `resource_categories.json` - 资源分类配置
- `inventory_categories.json` - 库存分类配置
#### 📁 translations/ - 本地化文件
- `items.*.translation` - 物品数据本地化文件Godot自动生成
#### 📁 imports/ - 导入配置
- `*.import` - Godot资源导入配置文件
### 📁 assets/ - 资源文件
- 图片、音频、字体等游戏资源
## 🎮 游戏标签页结构
### 📋 合成标签
包含以下分类:
- **手动采集** - 可手动采集的基础资源
- **基础资源** - 原始材料
- **液体资源** - 液体类资源
- **冶炼成品** - 冶炼后的材料
- **建筑设施** - 基础建筑和设备
### 🏭 生产线标签
包含以下分类:
- **生产设备** - 高级生产设备(组装机、化工厂等)
## 🎯 设计原则
1. **功能分离**: 按照功能模块分类存放脚本
2. **数据分离**: 配置文件与自动生成文件分开存放
3. **清晰结构**: 每个文件夹都有明确的职责
4. **易于维护**: 相关功能的文件集中管理
## 📋 自动加载顺序
项目中的自动加载脚本按以下顺序加载:
1. `GameData` - 游戏基础数据
2. `ResourceCategoryManager` - 资源分类管理
3. `InventoryManager` - 库存管理
4. `InventoryCategoryManager` - 库存分类管理
## 🔄 依赖关系
- UI层依赖于数据层和库存层
- 生产系统依赖于库存系统
- 所有系统都依赖于核心数据管理器
## ⚠️ 重要维护说明
### 防止 Translation 文件自动生成
Godot 会自动将 CSV 文件识别为本地化资源并生成 `.translation` 文件。为了保持 `data/config/` 文件夹的整洁:
1. **CSV 导入设置**:确保 `data/config/items.csv.import` 使用 `importer="keep"`
2. **文件夹隔离**:使用 `.gdignore` 文件让 Godot 忽略 `translations/``imports/` 文件夹
3. **定期清理**:如果发现 config 文件夹中出现新的 `.translation` 文件,及时删除
详细说明请参考 `data/README.md` 文件。