From bc24cd922c44222379d0422e41d7d86e4536c083 Mon Sep 17 00:00:00 2001 From: yangbear Date: Tue, 30 Jun 2026 02:26:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ActivateExperimentObjects=20=E7=94=A8=20?= =?UTF-8?q?FindObjectsOfType(includeInactive)=20=E6=9B=BF=E4=BB=A3=20GameO?= =?UTF-8?q?bject.Find?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit medicalBox 初始 inactive,GameObject.Find 只能找活跃对象 改为 FindObjectsOfType(true) 遍历所有对象查找 --- Assets/Scripts/UI/PageController.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/UI/PageController.cs b/Assets/Scripts/UI/PageController.cs index 2b58d90..f59b2ba 100644 --- a/Assets/Scripts/UI/PageController.cs +++ b/Assets/Scripts/UI/PageController.cs @@ -303,7 +303,8 @@ public class PageController : MonoBehaviour openingFlow.PlayOpeningFlow(() => { Debug.Log("PageController: 片头动画完成,显示 ExperimentPanel"); - ActivateExperimentObjects(); ShowPage(Page.Experiment); + ActivateExperimentObjects(); + ShowPage(Page.Experiment); var stepManager = FindObjectOfType(); if (stepManager != null) @@ -337,8 +338,19 @@ public class PageController : MonoBehaviour private void ActivateExperimentObjects() { Debug.Log("PageController: [ActivateExperimentObjects] 显示实验物件"); - var medicalBox = GameObject.Find("medicalBox"); - if (medicalBox != null) medicalBox.SetActive(true); + + // 用 includeInactive 搜索,避免 medicalBox inactive 时 Find 返回 null + var allObjects = FindObjectsOfType(true); + foreach (var go in allObjects) + { + if (go.name == "medicalBox") + { + go.SetActive(true); + Debug.Log("PageController: medicalBox 已显示"); + return; + } + } + Debug.LogWarning("PageController: 未找到 medicalBox"); }