Today we completed a deep refactoring of the dialogue system, introduced a brand new Markdown dialogue parsing tool, and optimized the plot data structure, event system, and webpack configuration. Here are the detailed contents of this update:
---
## ✨ New Features
### 💬 Dialogue System
- **Markdown Dialogue Parser** - Brand new dialogue data parsing script supporting import from Markdown files
- **Dialogue Data Specification** - Complete Markdown dialogue format specification (`scripts/SPEC.md`)
- **Dialogue Node Type Enhancement** - Added `optionId` and `isEnd` fields supporting more flexible plot branching
- **Scene Dialogue Data Expansion** - Added extensive dialogue scene data covering academy, residential area, think tank and other locations
### 🎮 Event System
- **trigger-event IPC Channel** - New renderer process event trigger interface supporting in-game event interaction
- **Game Startup Event Trigger** - Automatic initialization event trigger and popup display on application startup
---
## 🔧 Optimizations & Improvements
### Dialogue System Refactoring
- **OptionNode Type Optimization** - Changed `nextNodeId` to `nextSortNo` adapting to new sorting jump logic
- **Option Jump Logic Optimization** - Direct dialogue node jump via `optionId`
- **Option Area Layout Adjustment** - Changed to center fixed positioning improving user experience
- **Popup Style Enhancement** - Adjusted button text and style format
- **Table Display Optimization** - Added is-end state display, optimized column width settings
### Plot Data Management
- **NPC Configuration Simplification** - Simplified `npcs.json` retaining only core BOSS character configurations
- **Data Merge Mechanism** - Added data merge utility function for unified dialogue data import/export
- **Configuration Standardization** - Unified adjustments to `options.json`, `optionNodes.json` and `effects.json`
- **Attribute Mapping Optimization** - Improved attribute reflection mapping enhancing data consistency
- **Plot Flow Unification** - Integrated duplicate plot nodes, unified plot flow ID identification
### Event System Enhancement
- **webpack Configuration Optimization** - Enabled `ts-loader` compile-only mode, added `.vue` file suffix support
- **EventSystem Code Refactoring** - Fixed initialization process issues, optimized event pool and event retrieval logic
- **Condition Judgment Optimization** - Updated `valueType` to `has`, adjusted attribute ID mapping
