public static Scene GetScene(string guid) { #if UNITY_EDITOR if (!EditorApplication.isPlaying) { var path = AssetDatabase.GUIDToAssetPath(guid); if (string.IsNullOrEmpty(path)) { return(null); } return(new Scene { GUID = guid, SceneName = Path.GetFileNameWithoutExtension(path), BuildIndex = SceneUtility.GetBuildIndexByScenePath(path), }); } if (current == null) { // Always rebuild in play mode SceneRefSettings.Build(); } #endif if (current == null) { current = Resources.Load <SceneRefSettings>(ResourceName); if (current == null) { throw new System.InvalidOperationException("Cannnot load resource " + ResourceName); } } foreach (var s in current.scenes) { if (s.GUID == guid) { return(s); } } return(null); }
public void OnPreprocessBuild(BuildReport buildReport) { SceneRefSettings.Build(); }