fix: ActivateExperimentObjects 用 FindObjectsOfType(includeInactive) 替代 GameObject.Find
medicalBox 初始 inactive,GameObject.Find 只能找活跃对象 改为 FindObjectsOfType<GameObject>(true) 遍历所有对象查找
This commit is contained in:
@@ -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<StepManager>();
|
||||
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<GameObject>(true);
|
||||
foreach (var go in allObjects)
|
||||
{
|
||||
if (go.name == "medicalBox")
|
||||
{
|
||||
go.SetActive(true);
|
||||
Debug.Log("PageController: medicalBox 已显示");
|
||||
return;
|
||||
}
|
||||
}
|
||||
Debug.LogWarning("PageController: 未找到 medicalBox");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user