/// <summary> /// 调整场景数据(匹配最新的场景目录,删除无用数据) /// </summary> static void MatchSceneRuleData(ref AssetBundleBuildData.SceneBuild old, Action <string> progress_report) { AssetBundleBuildData.SceneBuild rules = new AssetBundleBuildData.SceneBuild(); DirectoryInfo assets = new DirectoryInfo(EditorCommon.SCENE_START_PATH); if (assets.Exists) { var files = assets.GetFiles("*.unity", SearchOption.AllDirectories); foreach (var f in files) { if (progress_report != null) { progress_report(f.FullName); } var scene = old.Scenes.Find((elem) => { return(elem.ScenePath == f.FullName); }); if (scene == null) { scene = new AssetBundleBuildData.SceneBuild.Element() { ScenePath = f.FullName }; } rules.Scenes.Add(scene); } old = rules; } }
/// <summary> /// 同步场景资源配置 /// </summary> static void SyncSceneAssetConfig(AssetBundleBuildData.SceneBuild.Element element, ResourcesManifestData data , bool is_write) { string localPath = EditorCommon.AbsoluteToRelativePath(element.ScenePath); localPath = localPath.ToLower(); // 场景文件与配置文件 string[] files = new string[] { localPath, SceneConfig.GetSceneConfigPath(localPath).ToLower() }; foreach (var path in files) { string key = EditorCommon.ConvertToAssetBundleName(path); ResourcesManifestData.AssetBundle ab_data; if (data.AssetBundles.TryGetValue(key, out ab_data)) { if (is_write) { ab_data.IsCompress = element.IsCompress; ab_data.IsNative = element.IsNative; ab_data.IsPermanent = false; ab_data.IsStartupLoad = false; } else { element.IsCompress = ab_data.IsCompress; element.IsNative = ab_data.IsNative; } } } }
/// <summary> /// 同步场景资源配置 /// </summary> static void SyncSceneAssetConfig(AssetBundleBuildData.SceneBuild.Element element, ResourcesManifestData data , bool is_write) { string path = element.ScenePath.ToLower(); string key = EditorCommon.ConvertToAssetBundleName(path); ResourcesManifestData.AssetBundle ab_data; if (data.AssetBundles.TryGetValue(key, out ab_data)) { if (is_write) { ab_data.IsCompress = element.IsCompress; ab_data.IsNative = element.IsNative; ab_data.IsPermanent = false; ab_data.IsStartupLoad = false; } else { element.IsCompress = ab_data.IsCompress; element.IsNative = ab_data.IsNative; } } }