public void GroupAsset(string path, BundleNameBy nameBy = BundleNameBy.Filename) { var asset = ArrayUtility.Find(assets, assetBuild => assetBuild.path.Equals(path)); if (asset != null) { asset.nameBy = nameBy; return; } ArrayUtility.Add(ref assets, new AssetBuild() { path = path, nameBy = nameBy, }); }
/// <summary> /// 给资源打包分组 /// </summary> /// <param name="nameBy"></param> public static void GroupAssets(BundleNameBy nameBy) { var rules = GetBuildRules(); var selection = Selection.GetFiltered <UnityEngine.Object>(SelectionMode.DeepAssets); foreach (var o in selection) { var path = AssetDatabase.GetAssetPath(o); if (string.IsNullOrEmpty(path) || Directory.Exists(path)) { continue; } rules.GroupAsset(path, nameBy); } UnityEditor.EditorUtility.SetDirty(rules); AssetDatabase.SaveAssets(); Selection.activeObject = rules; UnityEditor.EditorUtility.FocusProjectWindow(); }