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