// begin a template scene public static void NewScene(VCESceneSetting setting, int template) { if (s_Instance == null) { return; } // Close current scene first CloseScene(); // New VCEScene s_SceneId++; s_Scene = new VCEScene(setting, template); s_Scene.BuildScene(); Debug.Log("VCE new scene. sceneid = " + s_SceneId.ToString()); // After Scene Changed AfterSceneChanged(setting); if (OnSceneCreate != null) { OnSceneCreate(s_Scene); } // Show status string s = "New scene".ToLocalizationString() + " "; string[] scenepaths = s_Scene.m_IsoData.m_HeadInfo.ScenePaths(); foreach (string sp in scenepaths) { s += "[" + sp.ToLocalizationString() + "] "; } s += "is ready".ToLocalizationString() + " !"; VCEStatusBar.ShowText(s, 10, true); }
// destroy current scene data - called by CloseScene() private static void DestroySceneData() { if (s_Scene != null) { s_Scene.Destroy(); s_Scene = null; } }
// load an iso public static void LoadIso(string path) { if (s_Instance == null) { return; } // Close current scene first CloseScene(); // Load a VCEScene from an specified iso try { s_SceneId++; s_Scene = new VCEScene(path); // Build scene s_Scene.BuildScene(); // After Scene Changed AfterSceneChanged(s_Scene.m_Setting); } catch (Exception) { NewScene(VCConfig.FirstSceneSetting); VCEMsgBox.Show(VCEMsgBoxType.CORRUPT_ISO); return; } if (OnSceneCreate != null) { OnSceneCreate(s_Scene); } Debug.Log("VCE load iso " + path + " sceneid = " + s_SceneId.ToString()); // Show status VCEStatusBar.ShowText("Load".ToLocalizationString() + " ISO [" + path + "] " + "Complete".ToLocalizationString() + " !", 10, true); }