/// <summary> /// 弹出栈顶场景,并将当前场景销毁 /// </summary> public void PopScene() { if (sceneStack.Count <= 0 || sceneStack.Last == null) { return; } SceneBase last = currentScene; SceneBase bePoped = sceneStack.Last.Value; if (currentScene != null) { currentScene.OnDestroy(); } if (bePoped != null) { bePoped.OnPoped(last); bePoped.LoadScene(); bePoped.UpdateAudioState(); bePoped.UpdateGlobalLight(); currentScene = bePoped; } sceneStack.RemoveLast(); }