using UnityEditor; using UnityEngine; using UnityEngine.Events; using System.Collections; [CustomEditor(typeof(Bundle))] public class EditorBundle : Editor { #region 变量 public static Bundle Script; #endregion public void OnEnable() { Script = (Bundle) target; Bundle.Instance = Script; } public static void Tag() { string path; AssetImporter assetImporter; for (int i = 0; i < Script.UiList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.UiList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "ui"; } for (int i = 0; i < Script.AtlasList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.AtlasList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "atlas"; } for (int i = 0; i < Script.EffectList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.EffectList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "effect"; } for (int i = 0; i < Script.AudioList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.AudioList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "audio"; } for (int i = 0; i < Script.SceneList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.SceneList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "scene"; } for (int i = 0; i < Script.ConfigList.Count; i++) { path = AssetDatabase.GetAssetPath(Script.ConfigList[i]); assetImporter = AssetImporter.GetAtPath(path); assetImporter.assetBundleName = "config"; } } [MenuItem("DashGame/Bundle/PackAndroid")] public static void PackAndroid() { Tag(); BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath + "/Bundle/Android", BuildAssetBundleOptions.None, BuildTarget.Android); } [MenuItem("DashGame/Bundle/PackIOS")] public static void PackIOS() { Tag(); BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath + "/Bundle/IOS", BuildAssetBundleOptions.None, BuildTarget.iOS); } [MenuItem("DashGame/Bundle/PackWindows")] public static void PackWindows() { Tag(); BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath + "/Bundle/Windows", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64); } }