/// <summary> /// 显示单个搜集信息 /// </summary> /// <param name="collector"></param> private void DisplayOneCollect(Collector collector) { GUILayout.BeginHorizontal("Box"); EditorGUILayout.LabelField(collector.CollectFolderPath, GUILayout.ExpandWidth(true), GUILayout.Height(20.0f)); collector.CollectRule = (EAssetBundleCollectRule)EditorGUILayout.EnumPopup(collector.CollectRule, GUILayout.Width(120.0f), GUILayout.Height(20.0f)); collector.BuildRule = (EAssetBundleBuildRule)EditorGUILayout.EnumPopup(collector.BuildRule, GUILayout.Width(120.0f), GUILayout.Height(20.0f)); // 强制Igore规则的目录打包规则为Ignore if (collector.CollectRule == EAssetBundleCollectRule.Ignore) { collector.BuildRule = EAssetBundleBuildRule.Ignore; } if (collector.BuildRule == EAssetBundleBuildRule.LoadByConstName) { collector.ConstName = EditorGUILayout.TextField(collector.ConstName, GUILayout.Width(120.0f), GUILayout.Height(20.0f)); } else { collector.ConstName = string.Empty; } if (GUILayout.Button("-", GUILayout.Width(30.0f), GUILayout.Height(20.0f))) { if (AssetBundleCollectSettingData.RemoveAssetBundleCollector(collector)) { Debug.Log($"移除资源搜集目录:{collector.CollectFolderPath}成功!"); } else { Debug.LogError($"移除资源搜集目录:{collector.CollectFolderPath}失败!"); } } GUILayout.EndHorizontal(); }
/// <summary> /// 显示搜集区域 /// </summary> private void DisplayCollectArea() { GUILayout.BeginVertical(); EditorGUILayout.LabelField("AB打包资源搜集:", GUILayout.ExpandWidth(true), GUILayout.Height(20.0f)); for (int i = 0; i < AssetBundleCollectSettingData.Setting.AssetBundleCollectors.Count; i++) { DisplayOneCollect(AssetBundleCollectSettingData.Setting.AssetBundleCollectors[i]); } if (GUILayout.Button("+", GUILayout.ExpandWidth(true), GUILayout.Height(20.0f))) { var chosenfolderpath = EditorUtility.OpenFolderPanel("选择搜集目录", LastOpenFolderPath, ""); if (string.IsNullOrEmpty(chosenfolderpath) == false && AssetBundleCollectSettingData.AddAssetBundleCollector(chosenfolderpath)) { var relativefolderpath = PathUtilities.GetAssetsRelativeFolderPath(chosenfolderpath); LastOpenFolderPath = relativefolderpath; Debug.Log($"添加资源搜集目录:{chosenfolderpath}成功!"); } } if (GUILayout.Button("保存", GUILayout.ExpandWidth(true), GUILayout.Height(20.0f))) { AssetBundleCollectSettingData.SaveFile(); } GUILayout.EndVertical(); }