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

253 lines
5.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.
# 语言分析系统 (Language Analysis System)
## 📖 概述
语言分析系统是一个独立的游戏系统,通过 `FixStateMachine` 进行状态管理。它包含记忆解密器等多种分析模式,专注于语言相关的解谜玩法。
## 🎯 系统特点
-**独立系统** - 完全独立于 ExpressionManager
-**状态管理** - 集成到 FixStateMachine
-**易于测试** - 可单独进入测试
-**易于扩展** - 支持多种分析模式
## 📂 文件结构
```
LanguageAnalysis/
├── LanguageAnalysisManager.cs # 主管理器
├── LanguageAnalysisYarnCommands.cs # Yarn 状态切换命令
├── README.md # 本文档
├── QUICK_REFERENCE.md # 快速参考卡
├── SETUP_GUIDE.md # 详细设置指南
├── REFACTORING_SUMMARY.md # 重构说明
└── TestLanguageAnalysis.yarn # 测试对话
```
## 🚀 快速开始
### 1. Yarn 命令
```yarn
// 进入语言分析系统
<<enter_language_analysis>>
// 启动记忆解密器
<<memory_decryptor_start SuccessNode>>
// 退出语言分析系统
<<exit_language_analysis>>
```
### 2. 最简测试
```yarn
title: Test
---
<<enter_language_analysis>>
<<memory_decryptor_start Success>>
===
title: Success
---
成功!
<<memory_decryptor_stop>>
<<exit_language_analysis>>
===
```
## 📋 文档索引
| 文档 | 用途 | 适合人群 |
|------|------|----------|
| `QUICK_REFERENCE.md` | 快速查询命令和用法 | 所有人 |
| `SETUP_GUIDE.md` | 详细的场景设置步骤 | 首次使用者 |
| `REFACTORING_SUMMARY.md` | 重构说明和对比 | 了解架构变更 |
| `TestLanguageAnalysis.yarn` | 测试对话示例 | 测试功能 |
## 🎮 核心组件
### LanguageAnalysisManager
主管理器,负责:
- 系统视图管理
- 相机注册
- 各分析模式的启动和停止
### LanguageAnalysisState
FixState 状态,负责:
- 状态进入时的场景切换
- 相机动画
- 状态退出时的清理
### Yarn Commands
- `enter_language_analysis` - 进入状态
- `exit_language_analysis` - 退出状态
- `memory_decryptor_*` - 记忆解密器命令
## 🔧 技术细节
### 状态机集成
```csharp
public enum FixState
{
// ...
LanguageAnalysis, // 语言分析系统
}
public struct LanguageAnalysisState : IState<FixState>
{
// Enter: 切换相机,打开视图
// Exit: 关闭视图,重置状态
}
```
### 系统注册
```csharp
// 自动注册到 FixSystemCenter
FixSystemCenter.SystemDic.Register(this);
```
### 相机管理
```csharp
public enum CameraEnum
{
LanguageAnalysis, // 主相机
LanguageAnalysisDeep, // 深度相机
}
```
## 📝 使用示例
### 完整流程
```yarn
title: LanguageAnalysisDemo
---
玩家:我想分析这段记忆...
<<enter_language_analysis>>
系统进入中...
<<memory_decryptor_start Demo_Success>>
现在你可以:
1. 调整情绪频率滑块
2. 拖动解码器条
3. 点击"验证对齐"按钮
===
title: Demo_Success
---
🎉 解密成功!
你发现了隐藏的情绪:
"[临检]要来了,不合格[英里]被骂了,这让我很[担心]"
<<memory_decryptor_stop>>
<<exit_language_analysis>>
返回正常状态...
===
title: Demo_Success_Fail
---
❌ 解密失败
频率或位置不太对...
-> 再试一次
<<jump LanguageAnalysisDemo>>
-> 放弃
<<memory_decryptor_stop>>
<<exit_language_analysis>>
算了,先做别的...
===
```
## 🐛 常见问题
### Q: Unity 提示找不到 LanguageAnalysisManager
A: 保存文件后等待 Unity 重新编译。如果问题持续,尝试重启 Unity。
### Q: 进入状态后看不到界面?
A: 检查 Analysis View 是否已设置且激活。
### Q: 相机不切换?
A: 确保两个 Virtual Camera 已正确注册到 CameraKit。
### Q: Yarn 命令不工作?
A: 确保 LanguageAnalysisManager 已添加到场景并注册到 SystemDic。
## 🎨 分析模式
### 当前支持
#### 记忆解密器 (Memory Decryptor)
- 复古 CRT 显示风格
- 频率调谐解谜
- 解码器条拖动
- 笑话/情绪识别
### 未来扩展
可以添加更多分析模式:
- 语法分析器
- 语义地图
- 情绪图谱
- ...
## 📊 系统流程图
```
游戏开始
Clinic / 其他状态
↓ <<enter_language_analysis>>
进入 LanguageAnalysisState
↓ State.Enter()
- 切换到 BodyModule (Head)
- 打开 Analysis View
- 相机动画 (Analysis → AnalysisDeep)
↓ <<memory_decryptor_start>>
记忆解密器 Boot 序列
解密器运行中(玩家操作)
↓ 成功/失败
Yarn 节点反馈
↓ <<exit_language_analysis>>
退出 LanguageAnalysisState
↓ State.Exit()
- 关闭视图
- 重置 Plug
返回 Clinic / 其他状态
```
## ✅ 设置清单
使用前确保:
- [ ] LanguageAnalysisManager 已添加到场景
- [ ] Language Analysis View 已配置
- [ ] 两个 Virtual Camera 已设置
- [ ] MemoryDecryptorMode 及其子组件已配置
- [ ] 配置文件已创建并设置
- [ ] 已测试基本功能
## 🚀 下一步
1. 阅读 `QUICK_REFERENCE.md` 了解常用命令
2. 按照 `SETUP_GUIDE.md` 设置场景
3. 使用 `TestLanguageAnalysis.yarn` 测试
4. 开始创建你的语言分析关卡!
---
**Need Help?** 查看 `SETUP_GUIDE.md` 获取详细步骤
**Quick Start?** 查看 `QUICK_REFERENCE.md` 快速上手