ABPackerInfoEditor.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //using System;
  2. //using System.IO;
  3. //using UnityEditor;
  4. //using UnityEngine;
  5. //using Object = UnityEngine.Object;
  6. //namespace XGame.Editor.Build.AssetBundles
  7. //{
  8. // public class ABPackerInfoEditor
  9. // {
  10. // private Object asset;
  11. // public long PackerId { get; private set; }
  12. // public ABPackerType PackerType { get; private set; }
  13. // public string AssetGUID
  14. // {
  15. // get
  16. // {
  17. // if (asset != null)
  18. // {
  19. // var assetPath = AssetDatabase.GetAssetPath(asset);
  20. // return AssetDatabase.AssetPathToGUID(assetPath);
  21. // }
  22. // return string.Empty;
  23. // }
  24. // }
  25. // public bool IsInspector { set; get; }
  26. // /// <summary>
  27. // /// 删除的监听事件
  28. // /// </summary>
  29. // private event Action<long> onDelete;
  30. // public event Action<long> OnDelete
  31. // {
  32. // add => onDelete += value;
  33. // remove => onDelete -= value;
  34. // }
  35. // public ABPackerInfoEditor(ABPackerInfo info)
  36. // {
  37. // PackerId = info.packerId;
  38. // PackerType = info.packerType;
  39. // asset = AssetDatabase.LoadMainAssetAtPath(info.AssetPath);
  40. // }
  41. // public void OnGUI()
  42. // {
  43. // if (IsInspector)
  44. // {
  45. // EditorGUILayout.BeginVertical("Box");
  46. // }
  47. // else
  48. // {
  49. // EditorGUILayout.BeginHorizontal("Box");
  50. // }
  51. // DrawAsset();
  52. // DrawButtons();
  53. // if (IsInspector)
  54. // {
  55. // EditorGUILayout.EndVertical();
  56. // }
  57. // else
  58. // {
  59. // EditorGUILayout.EndHorizontal();
  60. // }
  61. // }
  62. // private readonly GUIContent assetContent = new GUIContent("Asset", "资源或者文件夹,只能选择Res/Addressable目录下的资源");
  63. // private readonly GUIContent packerTypeContent = new GUIContent("Packer Type", "打包分类 \r\nTopDirectoryOnly:默认方式,当前目录的资源(不包含子目录)打一个包 \r\nAllDirectories:当前目录及子目录的资源打一个包 \r\nSingleAsset:单个资源打包");
  64. // private void DrawAsset()
  65. // {
  66. // var lastAsset = asset;
  67. // asset = EditorGUILayout.ObjectField(assetContent, asset, typeof(Object), false);
  68. // var assetPath = AssetDatabase.GetAssetPath(asset);
  69. // if (!string.IsNullOrEmpty(assetPath))
  70. // {
  71. // if (!AssetBundleHelper.IsValidPath(assetPath))
  72. // //if (FileUtil.IsFileIgnore(assetPath) || !assetPath.StartsWith(FileUtil.ToRelativePath(PathDefine.ResAddressablePath)))
  73. // {
  74. // Debug.LogError($"选择了错误的资源或文件夹,只能选择Res/Addressable目录下的资源. Path:{assetPath}");
  75. // asset = lastAsset;
  76. // assetPath = AssetDatabase.GetAssetPath(asset);
  77. // }
  78. // }
  79. // var isFile = (!string.IsNullOrEmpty(assetPath) && File.Exists(assetPath));
  80. // if (isFile)
  81. // {
  82. // PackerType = ABPackerType.SingleAsset;
  83. // EditorGUI.BeginDisabledGroup(true);
  84. // }
  85. // PackerType = (ABPackerType)EditorGUILayout.EnumPopup(packerTypeContent, PackerType);
  86. // if (isFile)
  87. // {
  88. // EditorGUI.EndDisabledGroup();
  89. // }
  90. // }
  91. // private void DrawButtons()
  92. // {
  93. // bool isDelete = GUILayout.Button("Delete", GUILayout.Width(60));
  94. // if (isDelete)
  95. // {
  96. // //删除
  97. // onDelete?.Invoke(PackerId);
  98. // }
  99. // }
  100. // }
  101. //}