fix: PlayOpeningFlow/ReturnToHome重置所有ping/chanrao为隐藏

- OpeningFlowController新增DeactivateManInjuryChildren遍历隐藏
- PageController.ReturnToHome同样遍历隐藏ping/chanrao
- 解决上一轮实验残留导致ping自动出现的bug
This commit is contained in:
yangbear
2026-07-04 16:48:30 +08:00
parent dee680a458
commit 77f6e2f00d
3 changed files with 75 additions and 6 deletions
@@ -31,6 +31,8 @@ public class OpeningFlowController : MonoBehaviour
if (_womanObject != null) _womanObject.SetActive(false);
if (_manInjuryObject != null) _manInjuryObject.SetActive(false);
// 确保所有 ping/chanrao/chanraotuibu 子级隐藏
DeactivateManInjuryChildren();
if (_blackScreenPanel != null)
{
@@ -198,4 +200,15 @@ public class OpeningFlowController : MonoBehaviour
[Header("=== 音效 ===")]
[SerializeField] private AudioClip _basketballClip;
[SerializeField] private AudioClip _manCallClip;
private void DeactivateManInjuryChildren()
{
if (_manInjuryObject == null) return;
foreach (Transform child in _manInjuryObject.transform)
{
if (child.name.Contains("ping") || child.name.Contains("chanrao"))
child.gameObject.SetActive(false);
}
Debug.Log("[OpeningFlow] manInjury ping/chanrao 已全部隐藏");
}
}
+8
View File
@@ -320,6 +320,14 @@ public class PageController : MonoBehaviour
if (manInjury != null) manInjury.SetActive(false);
var medicalBox = GameObject.Find("medicalBox");
if (medicalBox != null) medicalBox.SetActive(false);
// 隐藏所有 ping/chanrao/chanraotuibu
var mi = GameObject.Find("manInjury");
if (mi != null) {
foreach (Transform child in mi.transform) {
if (child.name.Contains("ping") || child.name.Contains("chanrao"))
child.gameObject.SetActive(false);
}
}
// 用名字找主摄像机(Camera.main 在禁用后返回 null
var mainGo = GameObject.Find("Main Camera");