fix: AudioManager.I→FindObjectOfType避免Awake执行顺序导致I为null
PageController可能在AudioManager.Awake前Start, 导致I为null 改用FindObjectOfType在调用时查找
This commit is contained in:
@@ -121,8 +121,8 @@ public class PageController : MonoBehaviour
|
||||
|
||||
if (_uiManager != null)
|
||||
_uiManager.enabled = (page == Page.Experiment);
|
||||
if (page == Page.Home) AudioManager.I.PlayHomeBg(); // 背景音乐: 首页播 homeBg, 选固定方式时停, 实验启动时播 experimentBg
|
||||
if (page == Page.Home) AudioManager.I.PlayHomeBg();
|
||||
if (page == Page.Home) FindObjectOfType<AudioManager>()?.PlayHomeBg(); // 背景音乐: 首页播 homeBg, 选固定方式时停, 实验启动时播 experimentBg
|
||||
if (page == Page.Home) FindObjectOfType<AudioManager>()?.PlayHomeBg();
|
||||
Debug.Log($"PageController(编辑器预览): 切换到 [{page}]");
|
||||
}
|
||||
#endif
|
||||
@@ -224,7 +224,7 @@ public class PageController : MonoBehaviour
|
||||
Debug.Log($"PageController: GameManager 已设置 Mode=[{gm.CurrentMode}] Fixation=[{gm.CurrentFixationMethod}]");
|
||||
|
||||
// 隐藏所有UI面板,准备播放片头动画
|
||||
AudioManager.I.StopBgMusic();
|
||||
FindObjectOfType<AudioManager>()?.StopBgMusic();
|
||||
HideAllPages();
|
||||
|
||||
// 找到 OpeningFlowController 播放片头动画
|
||||
@@ -267,7 +267,7 @@ public class PageController : MonoBehaviour
|
||||
{
|
||||
Debug.Log("PageController: [ActivateExperimentObjects] 显示实验物件");
|
||||
|
||||
AudioManager.I.PlayExperimentBg();
|
||||
FindObjectOfType<AudioManager>()?.PlayExperimentBg();
|
||||
|
||||
var allObjects = FindObjectsOfType<GameObject>(true);
|
||||
foreach (var go in allObjects)
|
||||
|
||||
Reference in New Issue
Block a user