5.3 KiB
5.3 KiB
语言分析系统 - 清晰架构说明
✅ 你应该使用的系统:LanguageAnalysisManager
系统位置
Assets/Scripts/MiniGame/HuoShan/Language/
└── LanguageAnalysis/
└── LanguageAnalysisManager.cs # ✅ 这是主系统!
使用方法
在 Yarn 中
// 进入语言分析系统
<<enter_language_analysis>>
// 启动记忆解密器
<<memory_decryptor_start Success>>
// 退出语言分析系统
<<exit_language_analysis>>
在场景中
LanguageAnalysisManager
├── Language Analysis View (GameObject)
│ └── MemoryDecryptorMode
│ ├── Config: 留空即可(自动使用默认配置)
│ ├── MemoryDecryptorRenderer
│ └── MemoryDecryptorInputHandler
├── Language Analysis Camera
└── Language Analysis Deep Camera
📋 核心流程图
游戏开始
↓
任意状态 (Clinic / BodyModule / etc.)
↓
<<enter_language_analysis>> ← Yarn 命令
↓
[FixStateMachine 切换状态]
↓
FixState.LanguageAnalysis ← 进入此状态
↓
LanguageAnalysisState.Enter()
- 切换相机
- 打开 Analysis View
- 淡入淡出效果
↓
<<memory_decryptor_start>> ← Yarn 命令
↓
LanguageAnalysisManager.StartMemoryDecryptor()
↓
MemoryDecryptorMode.StartSystem()
- Boot 序列
- 加载网格
- 显示笑话
↓
玩家操作界面
- 调整频率
- 拖动解码器
- 点击验证
↓
成功/失败
↓
Yarn 节点跳转 (Success / Success_Fail)
↓
<<memory_decryptor_stop>> ← Yarn 命令
↓
<<exit_language_analysis>> ← Yarn 命令
↓
[FixStateMachine 切换状态]
↓
返回之前的状态
🔑 关键组件
1. LanguageAnalysisManager (主系统)
位置: LanguageAnalysis/LanguageAnalysisManager.cs
职责:
- 管理语言分析视图
- 注册到 FixSystemCenter
- 注册相机
- 管理子系统(MemoryDecryptorMode)
公开方法:
void OpenView() // 打开视图
void CloseView() // 关闭视图
void StartMemoryDecryptor(string node) // 启动解密器
void StartMemoryDecryptorFiltering() // 开始过滤
void SetMemoryDecryptorFrequency(float f) // 设置频率
void CheckMemoryDecryptorMatch() // 检查匹配
2. LanguageAnalysisState (状态机状态)
位置: FixSystemNew/FixStateMachine.cs
职责:
- Enter: 切换相机、打开视图、淡入淡出
- Exit: 关闭视图、重置 Plug
3. MemoryDecryptorMode (解密器核心)
位置: MemoryDecryptor/MemoryDecryptorMode.cs
职责:
- 游戏逻辑
- 网格管理
- 频率调谐
- 匹配检测
4. Yarn 命令
位置:
LanguageAnalysis/LanguageAnalysisYarnCommands.cs(状态切换)MemoryDecryptor/MemoryDecryptorYarnCommands.cs(解密器控制)
📝 调用链
Yarn → Manager → Mode
<<enter_language_analysis>>
↓
LanguageAnalysisYarnCommands.EnterLanguageAnalysis()
↓
FixStateMachine.SwitchState(LanguageAnalysis)
↓
LanguageAnalysisState.Enter()
↓
LanguageAnalysisManager.OpenView()
---
<<memory_decryptor_start>>
↓
MemoryDecryptorYarnCommands.StartMemoryDecryptor()
↓
LanguageAnalysisManager.StartMemoryDecryptor()
↓
MemoryDecryptorMode.StartSystem()
⚡ 快速配置(零配置模式)
最简场景设置
- 创建 LanguageAnalysisManager 对象
- 添加子对象和组件(参考 SETUP_GUIDE.md)
- 运行游戏
- 在 Yarn 中使用:
<<enter_language_analysis>>
<<memory_decryptor_start>>
就这么简单!✨
❌ 已移除的内容
从 ExpressionManager 中移除了:
- ❌
AnalysisMode枚举 - ❌
memoryDecryptorMode字段 - ❌
SwitchMode()方法 - ❌
SwitchToParticleMode()方法 - ❌
SwitchToMemoryDecryptorMode()方法 - ❌
StartMemoryDecryptor()方法 - ❌
SetMemoryDecryptorFrequency()方法 - ❌
StartMemoryDecryptorFiltering()方法 - ❌
CheckMemoryDecryptorMatch()方法
原因: 记忆解密器现在完全属于 LanguageAnalysisManager
✅ 现在的清晰架构
ExpressionManager (表达系统)
├── 只管理粒子表达
└── 不再管理记忆解密器
LanguageAnalysisManager (语言分析系统)
├── 管理所有语言分析相关功能
└── 包含记忆解密器
🎯 使用建议
表达情绪时 → ExpressionManager
<<open_expression>>
<<start_expression "焦虑短句" "目标句子">>
解密语言时 → LanguageAnalysisManager
<<enter_language_analysis>>
<<memory_decryptor_start>>
📚 文档导航
开始使用语言分析系统:
- 📖
LanguageAnalysis/QUICK_REFERENCE.md- 快速上手 - 🔧
LanguageAnalysis/SETUP_GUIDE.md- 详细设置 - 🧪
LanguageAnalysis/TestLanguageAnalysis.yarn- 测试示例
了解记忆解密器:
- 📖
MemoryDecryptor/README.md- 详细说明 - ⚡
MemoryDecryptor/QUICKSTART.md- 快速入门 - ✨
MemoryDecryptor/AUTO_CONFIG_FEATURE.md- 自动配置
💡 记住
只使用 LanguageAnalysisManager!
ExpressionManager 已经不再包含记忆解密器了!
两个系统完全独立,不要混用!
🚀 开始使用: <<enter_language_analysis>>