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();
 }