181404010226 2f13a748a6 敌人销毁 há 5 meses atrás
..
CombatSystem 2f13a748a6 敌人销毁 há 5 meses atrás
Core 4b73b1664d json关卡设置 há 5 meses atrás
LevelSystem fddb4aabfe 武器配置 há 5 meses atrás
ShopSystem 4b73b1664d json关卡设置 há 5 meses atrás
CombatSystem.meta c6436b3669 武器测试成功 há 5 meses atrás
Core.meta c59cad8da8 整理脚本 há 5 meses atrás
LevelSystem.meta c6436b3669 武器测试成功 há 5 meses atrás
README.md 4b73b1664d json关卡设置 há 5 meses atrás
README.md.meta 6f0a6aa7f4 碰撞 há 6 meses atrás
ShopSystem.meta c6436b3669 武器测试成功 há 5 meses atrás

README.md

脚本文件夹结构说明

本项目的脚本已经按照功能模块重新组织,结构如下:

📁 文件夹结构

🎯 CombatSystem (战斗系统)

负责游戏中的战斗相关功能,包括武器、敌人、子弹等

  • BallController.ts - 球体控制器
  • BlockManager.ts - 方块管理器
  • BulletController.ts - 子弹控制器
  • EnemyController.ts - 敌人控制器
  • EnemyInstance.ts - 敌人实例
  • EnemyComponent.ts - 敌人组件
  • EnemySpawnerExample.ts - 敌人生成器示例
  • EnemySpawnerTestScene.ts - 敌人生成器测试场景
  • WeaponComponent.ts - 武器组件
  • WeaponBlockExample.ts - 武器方块示例
  • WeaponBlockTestScene.ts - 武器方块测试场景
  • GameStateSetupGuide.md - 游戏状态管理系统设置指南

🏢 Core (核心系统)

包含所有模块共用的核心脚本

  • ConfigManager.ts - 配置管理器(武器、敌人配置)
  • PhysicsManager.ts - 物理管理器
  • README.md - 核心系统说明

🎮 LevelSystem (关卡系统)

负责关卡切换、数据保存和游戏状态管理

  • LevelManager.ts - 关卡管理器
  • GameManager.ts - 增强版游戏管理器(整合游戏启动、状态管理、UI控制)

🛒 ShopSystem (商店系统)

负责物品购买,影响战斗武器

  • ShopManager.ts - 商店管理器

🔗 模块间依赖关系

Core (核心)
├── ConfigManager - 为其他系统提供配置数据
└── PhysicsManager - 物理系统管理

LevelSystem (关卡)
├── GameManager - 统一游戏管理(整合游戏启动、状态管理、UI控制)
├── LevelManager - 关卡进度管理
├── 依赖 Core/ConfigManager 获取配置数据
└── 协调 CombatSystem 和 ShopSystem

CombatSystem (战斗)
├── 依赖 Core/ConfigManager 获取武器和敌人配置
└── 被 LevelSystem/GameManager 调用管理战斗状态

ShopSystem (商店)
├── 依赖 Core/ConfigManager 获取武器信息
└── 影响 CombatSystem 的武器可用性

📋 import 路径规范

CombatSystem 中的 import

import { ConfigManager } from '../Core/ConfigManager';

LevelSystem 中的 import

import { ConfigManager } from '../Core/ConfigManager';
import { LevelManager } from './LevelManager';
import { GameManager } from './GameManager';

ShopSystem 中的 import

import { ConfigManager } from '../Core/ConfigManager';

Core 系统内部 import

// Core 系统内部可以直接相对引用
import { ConfigManager } from './ConfigManager';

🚀 系统功能说明

CombatSystem 功能

  • ✅ 武器系统:支持多种武器类型和配置
  • ✅ 敌人系统:支持不同类型敌人和Spine动画
  • ✅ 战斗机制:子弹、碰撞、伤害计算
  • ✅ 方块管理:游戏场景中的方块控制

Core 功能

  • ✅ 配置管理:武器和敌人的JSON配置加载
  • ✅ 物理管理:物理系统初始化

LevelSystem 功能

  • ✅ 关卡进度:保存/加载关卡完成状态
  • ✅ 星级系统:记录最佳成绩和星级
  • ✅ 解锁机制:关卡解锁逻辑
  • ✅ 游戏管理:统一游戏启动、状态管理、UI控制
  • ✅ 血量监控:自动胜利失败检测
  • ✅ UI交互:成功失败界面按钮处理

ShopSystem 功能

  • ✅ 货币系统:金币和宝石管理
  • ✅ 物品购买:武器、升级、消耗品
  • ✅ 购买限制:次数限制和价格检查
  • ✅ 数据持久化:购买记录保存

🔧 使用说明

  1. Core系统 - 提供基础配置和物理管理
  2. LevelSystem - 统一游戏管理,包含关卡和游戏状态控制
  3. CombatSystem - 在游戏场景中使用,处理战斗逻辑
  4. ShopSystem - 在商店界面中使用

📝 开发注意事项

  1. LevelSystem/GameManager 是主要的游戏控制中心,负责协调各个系统
  2. 所有系统都通过 Core/ConfigManager 获取配置数据
  3. 避免跨系统的直接依赖(除了对Core的依赖)
  4. 新增功能时,请按照模块划分添加到对应文件夹
  5. 保持 import 路径的一致性和正确性

🎯 下一步开发计划

  • 完善 LevelSystem 的关卡配置和管理
  • 扩展 ShopSystem 的物品类型和效果
  • 优化 CombatSystem 的性能和特效
  • 添加音频系统到 Core 模块

Final Project Structure

assets/scripts/
├── CombatSystem/ (12 files - 纯战斗功能)
├── Core/ (2 files - 核心配置和物理)
├── LevelSystem/ (2 files - 关卡和游戏管理)
├── ShopSystem/ (1 file - 商店管理)
└── README.md (项目文档)

The project now has a complete modular architecture with:

  • ✅ 统一的游戏管理系统(整合启动、状态、UI控制)
  • ✅ 完整的战斗系统(武器、敌人、物理交互)
  • ✅ 关卡进度系统(数据持久化、解锁机制)
  • ✅ 商店购买系统(货币管理、物品购买)
  • ✅ 自动胜利失败检测和UI处理
  • ✅ 完整的系统间集成和文档指南

LevelSystem (关卡系统)

LevelManager.ts ⭐ 重要更新

  • 功能: 关卡进度管理和数据持久化
  • 类型: 纯TypeScript类(不继承Component)
  • 挂载: ❌ 不需要挂载到任何节点
  • 特性:
    • 单例模式,全局访问
    • 关卡解锁机制
    • 成绩和星级记录
    • 本地数据存储(localStorage)
    • 自动初始化
  • 使用: LevelManager.getInstance()

LevelConfigManager.ts ⭐ 新增

  • 功能: 关卡配置管理系统,让策划在编辑器中配置关卡
  • 特性:
    • 编辑器可视化配置关卡数量和JSON文件
    • 自动验证配置完整性
    • 支持热重载和缓存机制
    • 完整的关卡数据结构定义
  • 配置项: 总关卡数、关卡ID、名称、JSON配置文件
  • JSON格式: 武器配置、敌人波次、关卡设置、星级要求

GameManager.ts

  • 功能: 统一游戏管理器(整合了原有的多个管理器)
  • 特性:
    • 游戏状态管理(成功/失败/暂停)
    • 自动血量监控和敌人检测
    • UI按钮事件处理
    • 物理系统初始化
    • 关卡配置集成 ⭐ 支持加载和应用关卡配置
    • 波次和敌人数量UI ⭐ 显示当前波次和该波次总敌人数量
  • 集成: EnemyController, LevelManager, ShopManager, LevelConfigManager
  • UI节点:
    • 波次显示: Canvas/GameLevelUI/WaveInfo/WaveNumber
    • 敌人数量: Canvas/GameLevelUI/EnemyNode/EnemyNumber

WaveUISetupGuide.md ⭐ 新增

  • 功能: 波次和敌人数量UI设置指南
  • 内容: 编辑器配置步骤、节点结构、样式建议、调试方法