//using System; //using System.IO; //using UnityEditor; //using UnityEngine; //using Object = UnityEngine.Object; //namespace XGame.Editor.Build.AssetBundles //{ // public class ABPackerInfoEditor // { // private Object asset; // public long PackerId { get; private set; } // public ABPackerType PackerType { get; private set; } // public string AssetGUID // { // get // { // if (asset != null) // { // var assetPath = AssetDatabase.GetAssetPath(asset); // return AssetDatabase.AssetPathToGUID(assetPath); // } // return string.Empty; // } // } // public bool IsInspector { set; get; } // /// // /// 删除的监听事件 // /// // private event Action onDelete; // public event Action OnDelete // { // add => onDelete += value; // remove => onDelete -= value; // } // public ABPackerInfoEditor(ABPackerInfo info) // { // PackerId = info.packerId; // PackerType = info.packerType; // asset = AssetDatabase.LoadMainAssetAtPath(info.AssetPath); // } // public void OnGUI() // { // if (IsInspector) // { // EditorGUILayout.BeginVertical("Box"); // } // else // { // EditorGUILayout.BeginHorizontal("Box"); // } // DrawAsset(); // DrawButtons(); // if (IsInspector) // { // EditorGUILayout.EndVertical(); // } // else // { // EditorGUILayout.EndHorizontal(); // } // } // private readonly GUIContent assetContent = new GUIContent("Asset", "资源或者文件夹,只能选择Res/Addressable目录下的资源"); // private readonly GUIContent packerTypeContent = new GUIContent("Packer Type", "打包分类 \r\nTopDirectoryOnly:默认方式,当前目录的资源(不包含子目录)打一个包 \r\nAllDirectories:当前目录及子目录的资源打一个包 \r\nSingleAsset:单个资源打包"); // private void DrawAsset() // { // var lastAsset = asset; // asset = EditorGUILayout.ObjectField(assetContent, asset, typeof(Object), false); // var assetPath = AssetDatabase.GetAssetPath(asset); // if (!string.IsNullOrEmpty(assetPath)) // { // if (!AssetBundleHelper.IsValidPath(assetPath)) // //if (FileUtil.IsFileIgnore(assetPath) || !assetPath.StartsWith(FileUtil.ToRelativePath(PathDefine.ResAddressablePath))) // { // Debug.LogError($"选择了错误的资源或文件夹,只能选择Res/Addressable目录下的资源. Path:{assetPath}"); // asset = lastAsset; // assetPath = AssetDatabase.GetAssetPath(asset); // } // } // var isFile = (!string.IsNullOrEmpty(assetPath) && File.Exists(assetPath)); // if (isFile) // { // PackerType = ABPackerType.SingleAsset; // EditorGUI.BeginDisabledGroup(true); // } // PackerType = (ABPackerType)EditorGUILayout.EnumPopup(packerTypeContent, PackerType); // if (isFile) // { // EditorGUI.EndDisabledGroup(); // } // } // private void DrawButtons() // { // bool isDelete = GUILayout.Button("Delete", GUILayout.Width(60)); // if (isDelete) // { // //删除 // onDelete?.Invoke(PackerId); // } // } // } //}