NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/ProjectStructure_Updated.md

203 lines
3.7 KiB
Markdown
Raw Normal View History

2025-03-03 14:49:20 +08:00
# NLD项目架构文档
## 1. 项目概述
### 1.1 技术栈
- Unity 引擎
- C# .NET
- BehaviorDesigner (AI行为树)
- UniTask (异步编程)
- TGS (六边形网格系统)
### 1.2 核心功能
- 即时制战斗系统
- AI行为控制系统
- 多人在线对战
- 军团合作玩法
- 剧情演出系统
## 2. 系统架构
### 2.1 整体架构
```mermaid
graph TD
A[Core System] --> B[Battle System]
A --> C[AI System]
A --> D[Network System]
A --> E[Resource System]
B --> B1[Unit System]
B --> B2[Skill System]
B --> B3[Area System]
C --> C1[Behavior Tree]
C --> C2[Decision System]
C --> C3[Path Finding]
D --> D1[Network Sync]
D --> D2[Message System]
D --> D3[State Sync]
```
### 2.2 战斗系统
- 状态管理优化
* 分层状态机
* 更新机制优化
* 状态同步系统
- 单位系统优化
* 单位池化管理
* 空间管理优化
* 更新机制优化
### 2.3 AI系统
- 行为树管理
* 资源缓存系统
* 更新优先级管理
* 共享变量优化
- 性能优化
* 条件检测缓存
* 路径计算复用
* 更新频率控制
### 2.4 UI系统
- 组件化系统
* UI组件池化
* 事件统一管理
* 资源异步加载
- 性能优化
* 列表虚拟化
* Draw Call优化
* 资源预加载
## 3. 数据流
### 3.1 战斗数据流
```mermaid
sequenceDiagram
participant U as Unit System
participant B as Battle System
participant A as AI System
participant N as Network System
U->>B: 状态更新
B->>A: AI决策
A->>U: 行为执行
B->>N: 状态同步
```
### 3.2 资源加载流
```mermaid
graph TD
A[Resource Request] --> B[Resource Manager]
B --> C{Cache Check}
C -- Hit --> D[Return Cache]
C -- Miss --> E[Async Load]
E --> F[Cache Resource]
F --> D
```
## 4. 优化方案
### 4.1 短期优化1-2周
1. 战斗系统
- 状态管理重构
- 单位管理优化
- 事件系统规范化
2. UI系统
- UI组件池化
- 列表性能优化
- 资源加载优化
3. AI系统
- 行为树缓存
- 条件检测优化
- 更新机制改进
### 4.2 中期优化3-4周
1. 性能优化
- 战斗计算优化
- 内存管理优化
- Draw Call优化
2. 工具改进
- AI调试工具
- UI编辑工具
- 性能分析工具
### 4.3 长期优化1-2月
1. 架构优化
- 模块解耦
- 热更新支持
- 资源管理系统
2. 框架升级
- UI框架升级
- 网络框架优化
- 资源框架改进
## 5. 实施建议
### 5.1 优先级排序
1. 核心性能优化
- 战斗系统状态管理
- AI系统更新机制
- UI性能优化
2. 开发效率提升
- 调试工具开发
- 自动化测试
- 编辑器扩展
3. 架构改进
- 系统解耦
- 接口规范
- 框架升级
### 5.2 风险控制
1. 性能测试
- 建立性能基准
- 压力测试方案
- 性能监控系统
2. 稳定性保证
- 自动化测试
- 分步骤实施
- 回滚机制
### 5.3 后续规划
1. 技术栈升级
- Unity版本升级
- .NET版本更新
- 第三方插件升级
2. 新功能支持
- 跨平台支持
- 新的渲染管线
- 更多AI功能
## 6. 代码规范
### 6.1 命名规范
- 类名PascalCase
- 方法名PascalCase
- 私有变量_camelCase
- 公有变量camelCase
- 常量UPPER_CASE
### 6.2 文件组织
- Assets/Scripts/:脚本根目录
* Battle/:战斗相关
* AI/AI相关
* UI/UI相关
* Network/:网络相关
* Utils/:工具类
### 6.3 注释规范
- 类注释:功能说明、作者、日期
- 方法注释:参数说明、返回值、注意事项
- 关键代码注释:实现逻辑说明