Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md
T
2025-12-04 20:38:02 +08:00

259 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 语言系统架构说明
## 🎯 系统分离
### ✅ 正确的架构
```
两个独立的系统:
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`