Skip to content

Commit 8a87bcd

Browse files
committed
Enhance README and introduce event-driven architecture for version 3.0
This commit updates the `README.md` to reflect the new structure and features for version 3.0, including the introduction of business logic managers and event definitions. Key additions include: - New sections for `Managers` and `Events` detailing the central event bus and various game management functionalities. - A comprehensive refactoring plan outlining the transition to an event-driven architecture. - Updates to architecture principles and planned features to incorporate event-driven design and dependency injection. These changes improve documentation clarity and set the foundation for upcoming development phases.
1 parent a8791ed commit 8a87bcd

File tree

3 files changed

+904
-2
lines changed

3 files changed

+904
-2
lines changed

docs/README.md

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,20 @@ WinFormsApp1/
158158
│ │ └── JsonAssetEditorControl.cs # JSON editor control | JSON编辑器控件
159159
│ ├── Game/ # Game logic | 游戏逻辑
160160
│ │ └── GameEngine.cs # Core game engine | 核心游戏引擎
161+
│ ├── Managers/ # Business logic managers (V3.0) | 业务逻辑管理器 (V3.0)
162+
│ │ ├── EventManager.cs # Central event bus | 中央事件总线
163+
│ │ ├── GameManager.cs # Game state management | 游戏状态管理
164+
│ │ ├── PlayerManager.cs # Player progression | 玩家进度
165+
│ │ ├── CombatManager.cs # Combat system | 战斗系统
166+
│ │ ├── InventoryManager.cs # Inventory operations | 背包操作
167+
│ │ ├── LocationManager.cs # World navigation | 世界导航
168+
│ │ ├── SkillManager.cs # Skill tree logic | 技能树逻辑
169+
│ │ └── SaveManager.cs # Save/Load operations | 存档/读档操作
170+
│ ├── Events/ # Event definitions (V3.0) | 事件定义 (V3.0)
171+
│ │ ├── GameEvents.cs # Base event classes | 基础事件类
172+
│ │ ├── PlayerEvents.cs # Player-related events | 玩家相关事件
173+
│ │ ├── CombatEvents.cs # Combat events | 战斗事件
174+
│ │ └── InventoryEvents.cs # Inventory events | 背包事件
161175
│ ├── Models/ # Data models | 数据模型
162176
│ │ ├── GameModels.cs # Game entities | 游戏实体
163177
│ │ └── JsonDataModels.cs # JSON data structures | JSON数据结构
@@ -173,8 +187,13 @@ WinFormsApp1/
173187
│ ├── Items.json # Item database | 物品数据库
174188
│ ├── Enemies.json # Enemy definitions | 敌人定义
175189
│ └── Locations.json # Game world locations | 游戏世界地点
190+
├── Tests/ # Unit tests (V3.0) | 单元测试 (V3.0)
191+
│ ├── Unit/ # Unit tests | 单元测试
192+
│ ├── Integration/ # Integration tests | 集成测试
193+
│ └── UI/ # UI tests | UI测试
176194
├── docs/ # Documentation | 文档
177-
│ └── README.md # This file | 本文件
195+
│ ├── README.md # This file | 本文件
196+
│ └── REFACTORING_PLAN.md # Event-driven refactoring plan | 事件驱动重构计划
178197
└── WinFormsApp1.csproj # Project file | 项目文件
179198
```
180199

@@ -198,6 +217,35 @@ WinFormsApp1/
198217
- [ ] Quest system implementation | 任务系统实现
199218
- [ ] Advanced NPC interactions | 高级NPC交互
200219

220+
### 🔄 **Version 3.0 - Event-Driven Architecture** | **版本 3.0 - 事件驱动架构** (PLANNED | 计划中)
221+
**📋 [Detailed Refactoring Plan](docs/REFACTORING_PLAN.md)** | **📋 [详细重构计划](docs/REFACTORING_PLAN.md)**
222+
223+
#### Phase 1: Foundation | 第一阶段:基础
224+
- [ ] Implement EventManager (central event bus) | 实现EventManager(中央事件总线)
225+
- [ ] Create base manager classes and interfaces | 创建基础管理器类和接口
226+
- [ ] Extract GameManager from GameEngine | 从GameEngine提取GameManager
227+
- [ ] Implement PlayerManager for character progression | 实现PlayerManager用于角色进度
228+
- [ ] Set up dependency injection container | 设置依赖注入容器
229+
230+
#### Phase 2: Core Managers | 第二阶段:核心管理器
231+
- [ ] Implement CombatManager for battle logic | 实现CombatManager用于战斗逻辑
232+
- [ ] Create InventoryManager for item operations | 创建InventoryManager用于物品操作
233+
- [ ] Build LocationManager for world navigation | 构建LocationManager用于世界导航
234+
- [ ] Develop SkillManager for skill tree logic | 开发SkillManager用于技能树逻辑
235+
- [ ] Refactor GameEngine to use managers | 重构GameEngine使用管理器
236+
237+
#### Phase 3: UI Refactoring | 第三阶段:UI重构
238+
- [ ] Update all forms to use event-driven architecture | 更新所有表单使用事件驱动架构
239+
- [ ] Remove direct GameEngine dependencies from UI | 移除UI对GameEngine的直接依赖
240+
- [ ] Implement proper data binding with events | 实现事件的适当数据绑定
241+
- [ ] Enhance custom controls for event handling | 增强自定义控件的事件处理
242+
243+
#### Phase 4: Advanced Features | 第四阶段:高级功能
244+
- [ ] Add event filtering and routing | 添加事件过滤和路由
245+
- [ ] Implement event history and replay | 实现事件历史和重放
246+
- [ ] Create plugin architecture | 创建插件架构
247+
- [ ] Add performance monitoring | 添加性能监控
248+
201249
### 📋 Planned Features | 计划功能
202250
- [ ] Multiplayer support | 多人游戏支持
203251
- [ ] Plugin system for mods | 模组插件系统
@@ -217,8 +265,9 @@ WinFormsApp1/
217265

218266
### Architecture Principles | 架构原则
219267
- **Separation of Concerns** | **关注点分离**: UI, game logic, and data are separate | UI、游戏逻辑和数据分离
220-
- **Event-Driven Design** | **事件驱动设计**: Custom controls communicate via events | 自定义控件通过事件通信
268+
- **Event-Driven Design** | **事件驱动设计**: Managers communicate via events (V3.0) | 管理器通过事件通信 (V3.0)
221269
- **Data-Driven Content** | **数据驱动内容**: Game content defined in JSON files | 游戏内容在JSON文件中定义
270+
- **Dependency Injection** | **依赖注入**: Loose coupling through DI container (V3.0) | 通过DI容器松耦合 (V3.0)
222271

223272
### Contributing | 贡献
224273
1. **Fork the repository** | **分叉仓库**
@@ -243,6 +292,7 @@ WinFormsApp1/
243292
- **Asset Editor** | **资源编辑器**: Visual tool for content creation | 内容创建的可视化工具
244293
- **Custom Skills** | **自定义技能**: Add new abilities and effects | 添加新能力和效果
245294
- **New Locations** | **新地点**: Expand the game world | 扩展游戏世界
295+
- **Event-Based Plugins** | **基于事件的插件**: Extend functionality via events (V3.0) | 通过事件扩展功能 (V3.0)
246296

247297
---
248298

@@ -254,11 +304,28 @@ WinFormsApp1/
254304
- **System.Text.Json** for data serialization | **System.Text.Json** 用于数据序列化
255305
- **TreeView** for hierarchical data display | **TreeView** 用于分层数据显示
256306
- **Custom UserControls** for modular UI | **自定义用户控件** 用于模块化UI
307+
- **Event-Driven Architecture** (V3.0) | **事件驱动架构** (V3.0)
308+
- **Dependency Injection** (V3.0) | **依赖注入** (V3.0)
257309

258310
### Performance | 性能
259311
- **Memory Efficient** | **内存高效**: Optimized for minimal resource usage | 优化最小资源使用
260312
- **Fast Loading** | **快速加载**: JSON data cached for performance | JSON数据缓存以提高性能
261313
- **Responsive UI** | **响应式UI**: Async operations prevent blocking | 异步操作防止阻塞
314+
- **Event Optimization** | **事件优化**: Efficient event routing and filtering (V3.0) | 高效的事件路由和过滤 (V3.0)
315+
316+
---
317+
318+
## 📚 Documentation | 文档
319+
320+
### Available Documents | 可用文档
321+
- **[README.md](docs/README.md)** | **[README.md](docs/README.md)**: Main project documentation | 主要项目文档
322+
- **[REFACTORING_PLAN.md](docs/REFACTORING_PLAN.md)** | **[REFACTORING_PLAN.md](docs/REFACTORING_PLAN.md)**: Event-driven architecture migration plan | 事件驱动架构迁移计划
323+
- **[REFACTORING_PROGRESS.md](docs/REFACTORING_PROGRESS.md)** | **[REFACTORING_PROGRESS.md](docs/REFACTORING_PROGRESS.md)**: Progress tracking for V3.0 refactoring | V3.0重构进度跟踪
324+
325+
### Upcoming Documentation | 即将推出的文档
326+
- **API Reference** | **API参考**: Complete manager and event documentation | 完整的管理器和事件文档
327+
- **Plugin Development Guide** | **插件开发指南**: How to create mods and extensions | 如何创建模组和扩展
328+
- **Event System Guide** | **事件系统指南**: Working with the event-driven architecture | 使用事件驱动架构
262329

263330
---
264331

0 commit comments

Comments
 (0)