# 语言分析系统 (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 // 进入语言分析系统 <> // 启动记忆解密器 <> // 退出语言分析系统 <> ``` ### 2. 最简测试 ```yarn title: Test --- <> <> === title: Success --- 成功! <> <> === ``` ## 📋 文档索引 | 文档 | 用途 | 适合人群 | |------|------|----------| | `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 { // Enter: 切换相机,打开视图 // Exit: 关闭视图,重置状态 } ``` ### 系统注册 ```csharp // 自动注册到 FixSystemCenter FixSystemCenter.SystemDic.Register(this); ``` ### 相机管理 ```csharp public enum CameraEnum { LanguageAnalysis, // 主相机 LanguageAnalysisDeep, // 深度相机 } ``` ## 📝 使用示例 ### 完整流程 ```yarn title: LanguageAnalysisDemo --- 玩家:我想分析这段记忆... <> 系统进入中... <> 现在你可以: 1. 调整情绪频率滑块 2. 拖动解码器条 3. 点击"验证对齐"按钮 === title: Demo_Success --- 🎉 解密成功! 你发现了隐藏的情绪: "[临检]要来了,不合格[英里]被骂了,这让我很[担心]" <> <> 返回正常状态... === title: Demo_Success_Fail --- ❌ 解密失败 频率或位置不太对... -> 再试一次 <> -> 放弃 <> <> 算了,先做别的... === ``` ## 🐛 常见问题 ### Q: Unity 提示找不到 LanguageAnalysisManager? A: 保存文件后等待 Unity 重新编译。如果问题持续,尝试重启 Unity。 ### Q: 进入状态后看不到界面? A: 检查 Analysis View 是否已设置且激活。 ### Q: 相机不切换? A: 确保两个 Virtual Camera 已正确注册到 CameraKit。 ### Q: Yarn 命令不工作? A: 确保 LanguageAnalysisManager 已添加到场景并注册到 SystemDic。 ## 🎨 分析模式 ### 当前支持 #### 记忆解密器 (Memory Decryptor) - 复古 CRT 显示风格 - 频率调谐解谜 - 解码器条拖动 - 笑话/情绪识别 ### 未来扩展 可以添加更多分析模式: - 语法分析器 - 语义地图 - 情绪图谱 - ... ## 📊 系统流程图 ``` 游戏开始 ↓ Clinic / 其他状态 ↓ <> 进入 LanguageAnalysisState ↓ State.Enter() - 切换到 BodyModule (Head) - 打开 Analysis View - 相机动画 (Analysis → AnalysisDeep) ↓ <> 记忆解密器 Boot 序列 ↓ 解密器运行中(玩家操作) ↓ 成功/失败 Yarn 节点反馈 ↓ <> 退出 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` 快速上手