Files
VFSUnity/Assets/Scripts/Data/StepData.cs
T
yangbear f0a6b96da5 feat: MCP Unity 场景优化 — 完整交互体系搭建
- 删除重复 Ground
- 创建 [Managers] 空物体,挂载 GameManager + StepManager + ExperimentFlowCoordinator + AudioManager
- Main Camera 挂载 InteractionSystem
- 伤者 InjectedPerson 下创建 5 个交互子物体 (InjuryVisual/Swelling/Pain/VitalSigns/Neuro)
- 创建绑带位置、踝关节、衬垫、夹板位置等空物体
- 道具摆放到位:伤者(2,0.05,5) 施救者(3,0,5) 鞋(2.7,0.15,5.5) 绷带/夹板/急救箱在旁
- InjuryLeg Tag 修正,Ground Tag 修正
- 全部新脚本同步导入 (ExperimentTypes/StepData/ExperimentConfig/StepManager/GameManager/ExperimentFlowCoordinator/InteractionSystem/DraggableObject/HighlightEffect/UIManager/ExamPopup/ScoreDisplay/VideoController/AudioManager/CharacterAnimController/StepAnimationHandler)
- 旧脚本 (ExperimentController/ConfigLoader/AnimationController/HUDController/VideoPlayerController/PopupSystem/ModeSelectionUI) 全部兼容修复或 stub
- 编译通过,0 错误
- Canvas 挂载 UIManager
2026-06-24 02:33:48 +08:00

64 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using UnityEngine;
/// <summary>
/// 单个实验步骤的数据配置(ScriptableObject)。
/// 在 Unity Editor 中为每个实验创建一份 StepData 列表。
/// </summary>
[CreateAssetMenu(fileName = "StepData", menuName = "VFS/Step Data")]
public class StepData : ScriptableObject
{
[Header("=== 评分 ===")]
[Tooltip("本步骤满分(考核模式下使用,总分 100 分)")]
[Range(0f, 100f)]
public float ScoreWeight = 10f;
[Tooltip("本步骤的子项数量(如伤情检查有 5 个子项,用于 SequenceClick 按比例计分)")]
public int SubStepCount = 1;
[Header("基础信息")]
[Tooltip("步骤序号,从 0 开始")]
public int StepIndex;
[Tooltip("步骤名称(内部标识)")]
public string StepName;
[Header("学习模式文案")]
[TextArea(2, 4)]
public string TipText; // 顶部 Tip 提示框文案
[TextArea(2, 4)]
public string DialogueText; // 角色对话气泡文案
[Header("学习模式 - 详细操作说明(甲方补充内容)")]
[TextArea(3, 8)]
public string DetailedContent; // 伤情检查/夹板固定等详细操作须知
[Header("考核模式文案")]
[TextArea(2, 4)]
public string ExamQuestionText; // 考核弹窗题目文案
[Header("考核选项")]
public string[] ExamOptions; // 选择题选项(如 {"5cm", "10cm", "20cm"}
public int CorrectOptionIndex; // 正确选项的索引(-1 表示非选择题)
public string ErrorFeedback; // 答错时的反馈文案
[Header("交互配置")]
public StepCompleteType CompleteType = StepCompleteType.ClickObject;
[Tooltip("交互目标的 Tag(如 InjuryLeg, Shoe, Bandage")]
public string TargetTag;
[Tooltip("考核模式点击顺序(SequenceClick 类型时使用)")]
public string[] ClickSequenceTags;
[Header("额外配置")]
[Tooltip("是否为夹板固定专属步骤")]
public bool IsSplintOnly;
[Tooltip("是否需要播放画中画视频")]
public bool ShowPipVideo;
[Tooltip("画中画视频文件名(StreamingAssets 下)")]
public string VideoFileName;
}