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

3.7 KiB
Raw Permalink Blame History

项目结构说明

📁 项目根目录结构

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 文件。