using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using UnityEngine; using UnityEditor; using Object = UnityEngine.Object; public class MapAB_SetTool : EditorWindow { public string abName; public Object selectObj; public int rowCount = 0; [MenuItem("Plugins/MapSet")] static void Init() { MapAB_SetTool abSetTool = EditorWindow.CreateWindow(); abSetTool.Show(); } public void OnGUI() { abName = EditorGUILayout.TextField("AB包名", abName); rowCount = int.Parse(EditorGUILayout.TextField("几X几", rowCount.ToString())); EditorGUILayout.LabelField($"设置包名:{abName}_(下标)"); selectObj = Selection.activeObject; if (GUILayout.Button("设置ab包名")) { if (selectObj == null) { Debug.LogError("没选择文件夹!"); return; } int tempCount = 0; int abIndex = 0; string path = AssetDatabase.GetAssetPath(selectObj); string[] guids = AssetDatabase.FindAssets("t:Object", new[] { path }); for (int i = 0; i < guids.Length; i++) { AssetImporter importer = AssetImporter.GetAtPath(AssetDatabase.GUIDToAssetPath(guids[i])); if (importer != null) { importer.SetAssetBundleNameAndVariant($"{abName}_{abIndex}", ""); //importer.SaveAndReimport(); } tempCount++; if (tempCount >= rowCount) { tempCount = 0; abIndex++; } } AssetDatabase.SaveAssets(); } EditorGUILayout.LabelField("选中文件:"); EditorGUILayout.ObjectField(selectObj, typeof(Object)); if (selectObj != null) { string tpath = AssetDatabase.GetAssetPath(selectObj); string[] tguids = AssetDatabase.FindAssets("t:Object", new[] { tpath }); EditorGUILayout.LabelField($"选中文件:{tguids.Length}"); int forCount = 0; int t_abIndex = 0; EditorGUILayout.LabelField($"包名:{abName}_{t_abIndex}"); for (int i = 0; i < tguids.Length; i++) { EditorGUILayout.LabelField($"{AssetDatabase.GUIDToAssetPath(tguids[i])}"); forCount++; if (forCount >= rowCount) { forCount = 0; t_abIndex++; EditorGUILayout.LabelField($"包名:{abName}_{t_abIndex}"); } } } } }