语言分析系统 (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 命令
// 进入语言分析系统
<<enter_language_analysis>>
// 启动记忆解密器
<<memory_decryptor_start SuccessNode>>
// 退出语言分析系统
<<exit_language_analysis>>
2. 最简测试
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_*- 记忆解密器命令
🔧 技术细节
状态机集成
public enum FixState
{
// ...
LanguageAnalysis, // 语言分析系统
}
public struct LanguageAnalysisState : IState<FixState>
{
// Enter: 切换相机,打开视图
// Exit: 关闭视图,重置状态
}
系统注册
// 自动注册到 FixSystemCenter
FixSystemCenter.SystemDic.Register(this);
相机管理
public enum CameraEnum
{
LanguageAnalysis, // 主相机
LanguageAnalysisDeep, // 深度相机
}
📝 使用示例
完整流程
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 及其子组件已配置
- 配置文件已创建并设置
- 已测试基本功能
🚀 下一步
- 阅读
QUICK_REFERENCE.md了解常用命令 - 按照
SETUP_GUIDE.md设置场景 - 使用
TestLanguageAnalysis.yarn测试 - 开始创建你的语言分析关卡!
Need Help? 查看 SETUP_GUIDE.md 获取详细步骤
Quick Start? 查看 QUICK_REFERENCE.md 快速上手