259 lines
7.3 KiB
Markdown
259 lines
7.3 KiB
Markdown
# 语言系统架构说明
|
||
|
||
## 🎯 系统分离
|
||
|
||
### ✅ 正确的架构
|
||
|
||
```
|
||
两个独立的系统:
|
||
|
||
1. ExpressionManager (表达系统)
|
||
└── LanguageParticleManager (粒子表达)
|
||
|
||
2. LanguageAnalysisManager (语言分析系统)
|
||
└── MemoryDecryptorMode (记忆解密器)
|
||
└── 未来可扩展其他分析模式
|
||
```
|
||
|
||
## 📋 系统对比
|
||
|
||
| 特性 | ExpressionManager | LanguageAnalysisManager |
|
||
|------|-------------------|-------------------------|
|
||
| **用途** | 粒子表达、情绪可视化 | 语言解密、分析解谜 |
|
||
| **FixState** | `Expression` | `LanguageAnalysis` |
|
||
| **相机** | `Expression` / `ExpressionDeep` | `LanguageAnalysis` / `LanguageAnalysisDeep` |
|
||
| **Yarn 进入** | - | `<<enter_language_analysis>>` |
|
||
| **Yarn 退出** | - | `<<exit_language_analysis>>` |
|
||
| **子系统** | LanguageParticleManager | MemoryDecryptorMode |
|
||
| **命名空间** | `AibisDream` | `AibisDream.MiniGame.Language` |
|
||
|
||
## 🎮 使用指南
|
||
|
||
### 使用表达系统 (ExpressionManager)
|
||
|
||
```yarn
|
||
title: UseExpression
|
||
---
|
||
<<open_expression>>
|
||
<<start_expression "我好怕|怎么办" "我能做到" "Done">>
|
||
===
|
||
```
|
||
|
||
**用于:** 粒子效果、情绪表达、焦虑转化等
|
||
|
||
### 使用语言分析系统 (LanguageAnalysisManager)
|
||
|
||
```yarn
|
||
title: UseLanguageAnalysis
|
||
---
|
||
<<enter_language_analysis>>
|
||
<<memory_decryptor_start Success>>
|
||
===
|
||
```
|
||
|
||
**用于:** 记忆解密、语言解谜、频率调谐等
|
||
|
||
## 📂 文件组织
|
||
|
||
```
|
||
Assets/Scripts/MiniGame/HuoShan/Language/
|
||
├── ExpressionManager.cs # 表达系统管理器
|
||
├── LanguageParticleManager.cs # 粒子系统
|
||
├── LanguageYarnCommand.cs # 表达系统 Yarn 命令
|
||
│
|
||
├── LanguageAnalysis/ # 语言分析系统文件夹
|
||
│ ├── LanguageAnalysisManager.cs # ✅ 主管理器
|
||
│ ├── LanguageAnalysisYarnCommands.cs # ✅ Yarn 状态切换命令
|
||
│ ├── README.md # 系统说明
|
||
│ ├── SETUP_GUIDE.md # 设置指南
|
||
│ └── QUICK_REFERENCE.md # 快速参考
|
||
│
|
||
└── MemoryDecryptor/ # 记忆解密器子系统
|
||
├── MemoryDecryptorMode.cs # ✅ 核心逻辑(属于 LanguageAnalysis)
|
||
├── MemoryDecryptorRenderer.cs # 渲染器
|
||
├── MemoryDecryptorInputHandler.cs # 输入处理
|
||
├── MemoryDecryptorYarnCommands.cs # ✅ 解密器命令(调用 LanguageAnalysisManager)
|
||
├── MemoryDecryptorData.cs # 数据结构
|
||
└── MemoryDecryptorConfigExample.cs # 配置示例
|
||
```
|
||
|
||
## 🚀 完整使用流程
|
||
|
||
### 语言分析系统(你应该使用的)
|
||
|
||
```yarn
|
||
title: Start
|
||
---
|
||
准备进入语言分析系统...
|
||
|
||
// 1. 进入语言分析状态(完整的状态机切换)
|
||
<<enter_language_analysis>>
|
||
|
||
// 2. 启动记忆解密器
|
||
<<memory_decryptor_start GameSuccess>>
|
||
|
||
提示:调整频率到 90Hz,移动解码器条...
|
||
===
|
||
|
||
title: GameSuccess
|
||
---
|
||
🎉 成功解密!
|
||
<<memory_decryptor_stop>>
|
||
<<exit_language_analysis>>
|
||
===
|
||
|
||
title: GameSuccess_Fail
|
||
---
|
||
再试试...
|
||
===
|
||
```
|
||
|
||
## 🎯 Yarn 命令完整列表
|
||
|
||
### 语言分析系统命令
|
||
|
||
| 命令 | 功能 | 调用对象 |
|
||
|------|------|----------|
|
||
| `<<enter_language_analysis>>` | 进入语言分析状态 | LanguageAnalysisYarnCommands |
|
||
| `<<exit_language_analysis>>` | 退出语言分析状态 | LanguageAnalysisYarnCommands |
|
||
| `<<memory_decryptor_start>>` | 启动解密器 | MemoryDecryptorYarnCommands → LanguageAnalysisManager |
|
||
| `<<memory_decryptor_filter_start>>` | 开始过滤 | MemoryDecryptorYarnCommands → LanguageAnalysisManager |
|
||
| `<<memory_decryptor_set_frequency>>` | 设置频率 | MemoryDecryptorYarnCommands → LanguageAnalysisManager |
|
||
| `<<memory_decryptor_check>>` | 检查匹配 | MemoryDecryptorYarnCommands → LanguageAnalysisManager |
|
||
| `<<memory_decryptor_stop>>` | 停止解密器 | MemoryDecryptorYarnCommands → LanguageAnalysisManager |
|
||
|
||
### 表达系统命令(独立使用)
|
||
|
||
| 命令 | 功能 |
|
||
|------|------|
|
||
| `<<open_expression>>` | 打开表达视图 |
|
||
| `<<start_expression>>` | 启动粒子系统 |
|
||
| `<<close_expression>>` | 关闭表达系统 |
|
||
| `<<reset_expression>>` | 重置表达系统 |
|
||
|
||
## 🏗️ 场景设置
|
||
|
||
### 方式 A:完整集成(推荐)
|
||
|
||
```
|
||
Hierarchy:
|
||
├── FixSystemCenter
|
||
│ └── LanguageAnalysisManager # ✅ 语言分析系统
|
||
│ ├── Language Analysis View
|
||
│ │ ├── Canvas (UI)
|
||
│ │ └── MemoryDecryptorMode # 记忆解密器
|
||
│ │ ├── MemoryDecryptorRenderer
|
||
│ │ └── MemoryDecryptorInputHandler
|
||
│ ├── Language Analysis Camera
|
||
│ └── Language Analysis Deep Camera
|
||
│
|
||
└── ExpressionManager # 表达系统(独立)
|
||
└── LanguageParticleManager
|
||
```
|
||
|
||
### 方式 B:快速测试
|
||
|
||
```
|
||
Hierarchy:
|
||
└── LanguageAnalysisManager (只测试语言分析)
|
||
└── ... (同上)
|
||
```
|
||
|
||
## 📝 快速开始
|
||
|
||
### 1. 最简设置
|
||
|
||
1. 创建 `LanguageAnalysisManager` 对象
|
||
2. 添加 UI 和相机
|
||
3. 添加 `MemoryDecryptorMode` 子组件(不需要设置 Config)
|
||
4. 连接 UI 引用
|
||
|
||
### 2. 测试 Yarn
|
||
|
||
```yarn
|
||
<<enter_language_analysis>>
|
||
<<memory_decryptor_start>>
|
||
```
|
||
|
||
### 3. 操作界面
|
||
|
||
- 点击"启动过滤分析"
|
||
- 调整频率到 90Hz
|
||
- 拖动解码器条到 (3, 5)
|
||
- 点击"验证对齐"
|
||
- 成功!
|
||
|
||
## ⚠️ 重要提示
|
||
|
||
### ❌ 不要使用
|
||
|
||
以下命令已从 ExpressionManager 中移除:
|
||
- `<<switch_to_particle_mode>>`
|
||
- `<<switch_to_memory_decryptor_mode>>`
|
||
- ExpressionManager 中的任何 MemoryDecryptor 方法
|
||
|
||
### ✅ 应该使用
|
||
|
||
**语言分析系统:**
|
||
- `<<enter_language_analysis>>` - 进入
|
||
- `<<memory_decryptor_*>>` - 解密器命令
|
||
- `<<exit_language_analysis>>` - 退出
|
||
|
||
**表达系统:**
|
||
- `<<open_expression>>`
|
||
- `<<start_expression>>`
|
||
- `<<close_expression>>`
|
||
|
||
## 🎉 系统优势
|
||
|
||
### 清晰的职责划分
|
||
|
||
- **ExpressionManager** → 专注于粒子表达
|
||
- **LanguageAnalysisManager** → 专注于语言解密
|
||
|
||
### 独立的状态管理
|
||
|
||
- 通过 FixStateMachine 统一管理
|
||
- 每个系统有独立的 FixState
|
||
- 符合项目整体架构
|
||
|
||
### 易于测试
|
||
|
||
- 可以单独进入 LanguageAnalysis 状态
|
||
- 不影响其他系统
|
||
- 完整的生命周期管理
|
||
|
||
## 🔧 文档索引
|
||
|
||
### 语言分析系统(你要用的)
|
||
- 快速参考: `LanguageAnalysis/QUICK_REFERENCE.md`
|
||
- 设置指南: `LanguageAnalysis/SETUP_GUIDE.md`
|
||
- 系统说明: `LanguageAnalysis/README.md`
|
||
- 测试对话: `LanguageAnalysis/TestLanguageAnalysis.yarn`
|
||
|
||
### 记忆解密器(子系统)
|
||
- 详细文档: `MemoryDecryptor/README.md`
|
||
- 快速入门: `MemoryDecryptor/QUICKSTART.md`
|
||
- 自动配置: `MemoryDecryptor/AUTO_CONFIG_FEATURE.md`
|
||
|
||
### 表达系统(独立系统)
|
||
- 使用说明: `LanguageParticleSystem_Summary.md`
|
||
- Yarn 命令: `LanguageYarnCommand.cs`
|
||
|
||
---
|
||
|
||
## 🎯 记住
|
||
|
||
**使用语言分析系统时:**
|
||
1. 先 `<<enter_language_analysis>>` 进入状态
|
||
2. 再使用记忆解密器命令
|
||
3. 最后 `<<exit_language_analysis>>` 退出
|
||
|
||
**不要混用两个系统!它们是独立的!**
|
||
|
||
---
|
||
|
||
**📖 开始使用:** 查看 `LanguageAnalysis/QUICK_REFERENCE.md`
|
||
**🚀 快速测试:** 导入 `LanguageAnalysis/TestLanguageAnalysis.yarn`
|
||
|