Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis
2025-12-09 16:13:32 +08:00
..
2025-12-04 20:38:02 +08:00
2025-12-09 16:13:32 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00
2025-12-04 20:38:02 +08:00

语言分析系统 (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 及其子组件已配置
  • 配置文件已创建并设置
  • 已测试基本功能

🚀 下一步

  1. 阅读 QUICK_REFERENCE.md 了解常用命令
  2. 按照 SETUP_GUIDE.md 设置场景
  3. 使用 TestLanguageAnalysis.yarn 测试
  4. 开始创建你的语言分析关卡!

Need Help? 查看 SETUP_GUIDE.md 获取详细步骤 Quick Start? 查看 QUICK_REFERENCE.md 快速上手