# 脚本文件夹结构说明 本项目的脚本已经按照功能模块重新组织,结构如下: ## 📁 文件夹结构 ### 🎯 CombatSystem (战斗系统) 负责游戏中的战斗相关功能,包括武器、敌人、子弹等 - `BallController.ts` - 球体控制器 - `BlockManager.ts` - 方块管理器 - `BulletController.ts` - 子弹控制器 - `EnemyController.ts` - 敌人控制器 - `EnemyInstance.ts` - 敌人实例 - `EnemyComponent.ts` - 敌人组件 - `EnemySpawnerExample.ts` - 敌人生成器示例 - `EnemySpawnerTestScene.ts` - 敌人生成器测试场景 - `WeaponComponent.ts` - 武器组件 - `WeaponBlockExample.ts` - 武器方块示例 - `WeaponBlockTestScene.ts` - 武器方块测试场景 ### 🏢 Core (核心系统) 包含所有模块共用的核心脚本 - `ConfigManager.ts` - 配置管理器(武器、敌人配置) - `GameManager.ts` - 游戏管理器 - `GameStartup.ts` - 游戏启动器 - `PhysicsManager.ts` - 物理管理器 - `README.md` - 核心系统说明 ### 🎮 LevelSystem (关卡系统) 负责关卡切换和数据保存 - `LevelManager.ts` - 关卡管理器 ### 🛒 ShopSystem (商店系统) 负责物品购买,影响战斗武器 - `ShopManager.ts` - 商店管理器 ## 🔗 模块间依赖关系 ``` Core (核心) ├── ConfigManager - 为其他系统提供配置数据 ├── GameManager - 协调各个系统 └── GameStartup - 初始化所有系统 CombatSystem (战斗) ├── 依赖 Core/ConfigManager 获取武器和敌人配置 └── 可被 LevelSystem 调用来管理战斗状态 LevelSystem (关卡) ├── 依赖 Core/GameManager 进行场景切换 └── 调用 CombatSystem 管理战斗进程 ShopSystem (商店) ├── 依赖 Core/ConfigManager 获取武器信息 └── 影响 CombatSystem 的武器可用性 ``` ## 📋 import 路径规范 ### CombatSystem 中的 import ```typescript import { ConfigManager } from '../Core/ConfigManager'; import { GameManager } from '../Core/GameManager'; ``` ### LevelSystem 中的 import ```typescript import { GameManager } from '../Core/GameManager'; import { ConfigManager } from '../Core/ConfigManager'; ``` ### ShopSystem 中的 import ```typescript import { ConfigManager } from '../Core/ConfigManager'; ``` ### Core 系统内部 import ```typescript // Core 系统内部可以直接相对引用 import { ConfigManager } from './ConfigManager'; ``` ## 🚀 系统功能说明 ### CombatSystem 功能 - ✅ 武器系统:支持多种武器类型和配置 - ✅ 敌人系统:支持不同类型敌人和Spine动画 - ✅ 战斗机制:子弹、碰撞、伤害计算 - ✅ 方块管理:游戏场景中的方块控制 ### Core 功能 - ✅ 配置管理:武器和敌人的JSON配置加载 - ✅ 游戏管理:场景切换、游戏状态管理 - ✅ 物理管理:物理系统初始化 ### LevelSystem 功能 - ✅ 关卡进度:保存/加载关卡完成状态 - ✅ 星级系统:记录最佳成绩和星级 - ✅ 解锁机制:关卡解锁逻辑 ### ShopSystem 功能 - ✅ 货币系统:金币和宝石管理 - ✅ 物品购买:武器、升级、消耗品 - ✅ 购买限制:次数限制和价格检查 - ✅ 数据持久化:购买记录保存 ## 🔧 使用说明 1. **Core系统** - 在游戏启动时首先初始化 2. **CombatSystem** - 在游戏场景中使用,处理战斗逻辑 3. **LevelSystem** - 在关卡选择和完成时使用 4. **ShopSystem** - 在商店界面中使用 ## 📝 开发注意事项 1. 所有系统都应该通过 Core 系统进行通信 2. 避免跨系统的直接依赖(除了对Core的依赖) 3. 新增功能时,请按照模块划分添加到对应文件夹 4. 保持 import 路径的一致性和正确性 ## 🎯 下一步开发计划 - [ ] 完善 LevelSystem 的关卡配置和管理 - [ ] 扩展 ShopSystem 的物品类型和效果 - [ ] 优化 CombatSystem 的性能和特效 - [ ] 添加音频系统到 Core 模块