using UnityEngine; using UnityEditor; using System.Collections; using System.Linq; using System.Collections.Generic; public class AssetbundlesMenuItems { const string kSimulateAssetBundlesMenu = "AssetBundles/Simulate AssetBundles"; [MenuItem(kSimulateAssetBundlesMenu)] public static void ToggleSimulateAssetBundle () { AssetBundleManager.SimulateAssetBundleInEditor = !AssetBundleManager.SimulateAssetBundleInEditor; } [MenuItem(kSimulateAssetBundlesMenu, true)] public static bool ToggleSimulateAssetBundleValidate () { Menu.SetChecked(kSimulateAssetBundlesMenu, AssetBundleManager.SimulateAssetBundleInEditor); return true; } [MenuItem ("AssetBundles/Build AssetBundles")] static public void BuildAssetBundles () { BuildScript.BuildAssetBundles(); } [MenuItem ("AssetBundles/Build Player")] static void BuildPlayer () { BuildScript.BuildPlayer(); } [MenuItem("AssetBundles/Set Asset Bundle From File Name",false, 0)] static void SetAssetBundlesFromFileNames() { if (Selection.assetGUIDs.Length > 0) { foreach (Object asset in Selection.objects) { string path = AssetDatabase.GetAssetPath (asset); string fixPath = ""; string fixAssetName = asset.name; fixAssetName = fixAssetName.Replace( "Texture", "Mat"); // SpiltString form Path List pathArray = GameFun.SpiltString(ref path, "/").ToList(); for(int i = 0; i < pathArray.Count-1 ; i++){ // Ignore Assets Folder if (pathArray[i]=="Asset" || pathArray[i]=="Assets"){ pathArray[i] = ""; }else{ // Fix Folder Path Name if (pathArray[i]=="Texture"){ pathArray[i] = "Materials"; } pathArray[i] = pathArray[i] + "/"; } fixPath += pathArray[i]; } AssetImporter assetImporter = AssetImporter.GetAtPath (path); assetImporter.assetBundleName = fixPath+fixAssetName; Debug.Log (Selection.assetGUIDs.Length + " Asset Bundles Assigned"); } } else { Debug.Log ("No Assets Selected"); } } }