203 lines
3.7 KiB
Markdown
203 lines
3.7 KiB
Markdown
# 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 注释规范
|
||
- 类注释:功能说明、作者、日期
|
||
- 方法注释:参数说明、返回值、注意事项
|
||
- 关键代码注释:实现逻辑说明
|