# 项目结构说明 ## 📁 项目根目录结构 ``` 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` 文件。