Implement limb fixation exam flow

This commit is contained in:
yangbear
2026-07-12 20:34:49 +08:00
parent 1d60eebb4f
commit 79e1fbb70b
71 changed files with 65272 additions and 2574 deletions
@@ -45,7 +45,8 @@ public class ShoseClickHandler : MonoBehaviour
CreateOutlineMesh();
StopAllCoroutines();
StartCoroutine(BlinkOutline());
bool isExam = GameManager.Instance != null && GameManager.Instance.CurrentMode == ExperimentMode.Exam;
if (!isExam) { StartCoroutine(BlinkOutline()); }
_clicked = false;
}
@@ -88,6 +89,7 @@ public class ShoseClickHandler : MonoBehaviour
_clicked = true;
Debug.Log("[ShoseClick] ★ 被点击 ★");
ActionHistory.Push(ActionHistory.ActionType.Shose, this);
var examMgr = FindObjectOfType<ExamFlowManager>(); if (examMgr != null) examMgr.OnObjectClicked(this);
StopAllCoroutines();
if (_outlineMesh != null) _outlineMesh.enabled = false;
if (targetPoint != null) { transform.position = targetPoint.position; transform.rotation = targetPoint.rotation; }
@@ -149,7 +151,11 @@ public class ShoseClickHandler : MonoBehaviour
{
_clicked = false;
if (_outlineMesh != null) _outlineMesh.enabled = startBlink;
if (_outlineMesh != null)
{
bool isExam = GameManager.Instance != null && GameManager.Instance.CurrentMode == ExperimentMode.Exam;
_outlineMesh.enabled = startBlink && !isExam;
}
if (_hasRecordedInitialTransform)
{
@@ -202,7 +208,8 @@ public class ShoseClickHandler : MonoBehaviour
}
StopAllCoroutines();
if (startBlink && isActiveAndEnabled)
bool examMode = GameManager.Instance != null && GameManager.Instance.CurrentMode == ExperimentMode.Exam;
if (startBlink && isActiveAndEnabled && !examMode)
{
StartCoroutine(BlinkOutline());
}