private bool ResetScene(string sceneName) { string atlasPath = LuaRuntime.GetGlobalString("ResPath_Atlases"); string defaultAtlas = LuaRuntime.GetGlobalString("ResName_DefaultAtlas"); List <string> additionalAtlases = LuaRuntime.GetGlobalStringArray("ResName_AdditionalAtlases"); if (string.IsNullOrEmpty(atlasPath) || string.IsNullOrEmpty(defaultAtlas) || additionalAtlases.Count == 0) { return(false); } SceneEd.Instance.Selection.ClearSelection(); ActionQueue.Instance.ClearActions(); BootParams bp = new BootParams { ReourcePath = atlasPath, DefaultReourceImage = defaultAtlas, ReourceImages = additionalAtlases, ScenePath = sceneName, DesignTimeResolution = GetDefaultResolution() }; if (!Bootstrap.Instance.Init(bp)) { return(false); } m_glRenderBuffer.SetScene(Scene.Instance); m_glRenderBuffer.SetSceneEd(SceneEd.Instance); // 不管是 Load 还是 Reset 成功,均需要刷新窗体的标题栏 UpdateFormTitle(); SceneEd.Instance.Select(Scene.Instance.Root); SceneEdEventNotifier.Instance.Emit_RefreshScene(RefreshSceneOpt.Refresh_All); return(true); }