火山第一次维修 - 实现资源映射
路径变动时更新本文件。梳理状态见 _archived/资源梳理清单.md。
场景(火山相关)
| 场景 |
路径 |
用途 |
| 主维修场景 |
Assets/Scenes/HuoShanFixScene.unity |
第一次维修完整流程 |
Yarn
| 工程 |
路径 |
说明 |
| 主流程(Test) |
Assets/Resources/Yarn/Test_Huoshan/ |
Stage1–8, EventNode, Center |
Stage ↔ 系统使用
| Stage |
主要系统 |
用途 |
| Stage1 |
Clinic |
诊室开场 |
| Stage2 |
BodyModule, EmotionWave |
后脑检查(表达→销售→逻辑→情绪) |
| Stage3 |
Sales, EmotionWave |
销售模块深入、波形步进、modify(EmotionWave 替代 Waveform) |
| Stage4 |
BodyModule |
表达 RAM 报错表现(短暂过渡) |
| Stage5 |
Clinic |
理解问题后诊室对话 |
| Stage6 |
Expression |
释放 RAM、log 小游戏(表达粒子) |
| Stage7 |
BodyModule |
后脑检查过渡 |
| Stage8 |
Clinic |
诊室最终谈话 |
脚本
| 系统 |
路径 |
| 波形 |
Assets/Scripts/MiniGame/HuoShan/Waveform/ |
| 销售 |
Assets/Scripts/MiniGame/HuoShan/SalesSystem/ |
| 表达/语言粒子 |
Assets/Scripts/MiniGame/HuoShan/Language/ |
| 情绪波形 |
Assets/Scripts/MiniGame/HuoShan/EmotionWave/ |
| 维修框架 |
Assets/Scripts/FixSystemNew/ |
各系统概述与 Yarn 接口
维修框架(FixSystemNew)
| 组件 |
路径 |
概述 |
| FixSystemCenter |
FixSystemCenter.cs |
全局入口,管理 FixState 与 SystemDic |
| FixStateMachine |
FixStateMachine.cs |
状态机,支持 Clinic/BodyModule/Sales/Expression 等 |
| ClinicSystem |
Clinic/ |
诊室视图、角色立绘 |
| BodyModuleSystem |
BodyModule/ |
后脑模块、插线、热力图 |
| ScreenSystem |
Screen System/ |
任务面板、完成标记 |
| ShockSystem |
Open/ |
转场闪光、震动效果 |
Yarn 命令(FixSystem)
| 命令 |
说明 |
<<switch_fix_system_to "State" "Arg">> |
切换维修状态,如 Sales / BodyModule / Clinic / Expression;Arg 如 Head 表示后脑 |
<<play_clinic_cut>> |
播放诊室转场切镜 |
Yarn 命令(Clinic)
| 命令 |
说明 |
<<init_character "火山">> |
初始化角色立绘 |
<<switch_character_state "状态">> |
切换角色表情/姿态 |
<<hide_character 1>> |
隐藏角色(淡出) |
<<show_character 1>> |
显示角色(淡入) |
<<quit_clinic_new 1>> |
退出诊室 |
Yarn 命令(BodyModule)
| 命令 |
说明 |
<<Reset_Plug>> |
重置插线状态 |
<<DropCable>> / <<RetractCable>> |
放下/收起线缆 |
<<ShowHeatMap>> / <<HideHeatMap>> |
显示/隐藏热力图 |
Yarn 命令(Screen)
| 命令 |
说明 |
<<show_task_panel>> |
显示任务面板 |
<<complete_task "line:xxx">> |
完成指定任务 |
<<clear_screen>> |
清空屏幕文字 |
<<clear_tasks>> |
清空任务列表 |
销售系统(SalesSystem)
概述:销售模块深入,发条(Crank)-滑片(Slider)驱动波形进度;支持处理器深入模式(旋钮+辉光管)。
核心组件:SalesManager、CrankController、SliderController、KnobController、ProcessorLightController、GlowTubeEffect
Yarn 命令
| 命令 |
说明 |
<<reset_crank>> |
重置发条 |
<<rotate_crank 180 0.5>> |
旋转发条到角度、时长 |
<<wait_crank_complete>> |
等待发条完成一轮 |
<<reset_slider>> |
重置滑片 |
<<slide_to_position 0.5 1>> |
滑片移到标准化位置 |
<<slide_to_segment 3 1>> |
滑片移到指定段 |
<<slide_to_anomaly 3 1>> |
滑片移到异常段 |
<<wait_slider_at 0.5>> |
等待滑片到达位置 |
<<activate_processor 3>> |
激活指定处理器灯 |
<<deactivate_all_processors>> |
关闭所有处理器灯 |
<<show_anomaly_processor 3>> |
显示异常处理器(闪烁) |
<<update_processor_from_slider>> |
按滑片位置更新处理器灯 |
<<enter_step_mode>> |
进入步进模式 |
<<enter_processor_mode>> |
进入处理器深入模式(面板放大、旋钮/辉光管) |
<<exit_processor_mode>> |
退出处理器深入模式 |
<<complete_crank_cycle>> |
完成发条-滑片一轮 |
<<wait_step_node 3>> |
等待步进节点完成 |
<<reset_crank_cycle>> |
重置发条-滑片循环 |
<<adjust_power 50>> |
旋钮调节功率(KnobController) |
<<reset_knob>> |
重置旋钮(保留尝试次数,用于重试) |
<<lock_knob>> |
锁定旋钮(第二次失败后由 Yarn 调用) |
事件回调:$salesTurnIndex 每轮转动完成后更新;$knobFailCount 旋钮失败次数(双次尝试)。EventNode 中 销售模块转动完成 按 $salesTurnIndex 分支(1=语义合成、2=语言审查、3=语气调整+enter_processor_mode)。旋钮第一次失败跳 处理器单次调节失败(reset_knob 重试),第二次失败跳 处理器功率调节失败。
波形系统(Waveform)
概述:波形检测器、扫描锁定、时间戳、波形显示与效果。Stage2/Stage3 已改用 EmotionWave 替代;Waveform 仍可用于 Stage7 等场景。
核心组件:WaveformDetector
Yarn 命令
| 命令 |
说明 |
<<show_waveform_detector>> |
显示检测器 |
<<hide_waveform_detector 0.3>> |
隐藏检测器 |
<<connect_waveform_detector "模块ID">> |
连接到模块(如 滤波器) |
<<disconnect_waveform_detector>> |
断开连接 |
<<enable_scan_logic "标签">> |
启用逻辑扫描(可锁定) |
<<enable_scan_emotion "标签">> |
启用情绪扫描(找不到) |
<<stop_scan_mode>> |
停止扫描 |
<<wait_scan_locked>> |
等待扫描锁定 |
<<wait_scan_not_found>> |
等待扫描未找到 |
<<show_timestamp_waveform>> |
显示锁定时间戳的波形 |
<<show_waveform "emotion" 1.5>> |
显示波形类型(emotion/logic/joke/filter_output) |
<<hide_waveform 0.3>> |
隐藏波形 |
<<transform_waveform "from" "to" 1>> |
波形类型变换 |
<<modify_waveform "emotion" "joke" 2.5>> |
波形被篡改变换 |
<<show_waveform_result "msg" true>> |
显示检测结果 |
<<hide_waveform_result>> |
隐藏结果 |
<<check_waveform 3>> |
波形检测效果(闪烁) |
<<check_waveform_sweep 2 0.25>> |
横扫效果 |
<<check_waveform_range 2 0.12>> |
限幅检测效果 |
<<check_waveform_pass>> |
通过效果(绿) |
<<check_waveform_fail>> |
失败效果(红) |
<<show_error_flood 5 0.3>> |
报错 flooding(Stage4 用) |
<<clear_errors>> |
清除报错 |
Yarn 函数
| 函数 |
说明 |
is_scan_locked() |
是否已锁定 |
is_scan_not_found() |
是否扫描未找到 |
is_fully_covered() |
是否全覆盖 |
get_locked_timestamp() |
获取锁定时间戳 |
表达系统(Language/Expression)
概述:表达模块的「焦虑短句→目标句子」粒子小游戏,用于 log 梳理(Stage6)。
核心组件:ExpressionManager
Yarn 命令
| 命令 |
说明 |
<<open_expression>> |
打开表达视图(背景+粒子容器) |
<<start_expression "短句1|短句2" "目标句" "完成节点">> |
启动粒子系统,完成时跳节点 |
<<close_expression>> |
关闭表达系统 |
<<reset_expression>> |
重置(可选不播放入场动画 false) |
情绪波形系统(EmotionWave)
概述:后脑检查与销售模块深入时显示的情绪波形条,支持预设切换;可与滑片同步。已替代 Stage2/Stage3 中的 Waveform。
核心组件:EmotionWaveManager、EmotionWaveConfig
Yarn 命令
| 命令 |
说明 |
<<show_emotion_wave 0.8>> |
显示情绪波形 |
<<hide_emotion_wave 0.5>> |
隐藏情绪波形 |
<<emotion_wave_to 0.5 2>> |
动画到进度 0.5,2 秒 |
<<set_emotion_wave 0.5>> |
立即设置进度 |
<<switch_emotion_wave_config "preset">> |
切换波形预设:normal(正常情绪)/ predicted(红色毛刺预测)/ modified_joke(被篡改笑话) |
<<enable_emotion_wave_slider_sync>> |
启用滑片同步 |
<<disable_emotion_wave_slider_sync>> |
禁用滑片同步 |
Yarn 函数
| 函数 |
说明 |
is_emotion_wave_shown() |
是否已显示 |
get_emotion_wave_progress() |
当前进度 |
get_emotion_wave_target() |
目标进度 |
其他 Yarn 命令(全局/UI)
| 命令 |
说明 |
<<open_warning_window "消息">> |
打开报错/警告窗口(BaseYarnCommand) |
<<fade_in 1>> / <<fade_out 1>> |
屏幕淡入/淡出 |
<<hide_dialog>> |
隐藏对话 |
美术资源
维修专用
角色与立绘
| 资源 |
路径 |
| 火山主资源 |
Assets/RawResources/Art/火山.psb |
| 火山立绘预制体 |
Assets/Resources/SpriteGroup/火山.prefab |
| 地铁火山 |
Assets/RawResources/Actor/地铁人物/地铁火山/ |
| 地铁火山暗 |
Assets/RawResources/Actor/地铁人物/地铁火山暗/ |
| 酒吧火山 |
Assets/RawResources/Art/酒吧素材/酒吧内角色动画/酒吧火山.* |
| 酒吧火山 |
Assets/RawResources/Actor/酒吧人物/酒吧火山.* |
章节与 UI
| 资源 |
路径 |
| 第七章图 |
Assets/RawResources/Art/Chapter/chapter7_huoshan.png |
ScriptableObjects / 配置
| 资产 |
路径 |
说明 |
| 测试入口 |
Assets/ScriptableObjects/SceneSO/Test_HuoShan.asset |
firstScene: HuoShanFixScene |
本地化
| 工程 |
路径 |
| Test_Huoshan |
Assets/Language/Dialog/Test_Huoshan/ |
其他
| 类型 |
说明 |
| 角色配置 |
Assets/StreamingAssets/Config/character.csv 中 hs,火山,Huoshan |
| Tag |
HuoshanScreen(波形/粒子渲染层) |