Load Asset Bundle in Editor

 public class DecryptAssetBundle : EditorWindow {
 
 private string assetURL = "";
 private static WWW request;
 
 private static bool run = false;
 private static IEnumerator en = null;
 
 [MenuItem("Bundles/Decrypt Asset Bundle")]
 static void Init () {    
     DecryptAssetBundle window = EditorWindow.GetWindow(typeof(DecryptAssetBundle)) as DecryptAssetBundle;
     window.position = new Rect(Screen.width/2,Screen.height/2, 400,150);
 }
 void OnGUI()
 {
     assetURL = EditorGUILayout.TextField("Asset bundle URL: ", assetURL);
 
     GUILayout.BeginHorizontal();
     if(GUILayout.Button("Clear"))
     {
         assetURL = "";
     }
     if(GUILayout.Button("Decrypt"))
     {
         run=true;
     }
     if(GUILayout.Button("Abort"))
     {
         run=false;
     }
     GUILayout.EndHorizontal();
 }
 
 public void Update() {
     if (!run) {
         if (en != null)
             en = null;
         return;
     }
     if (en == null) {
         en = LoadAsset(assetUrl);
     }
     if (! en.MoveNext())
         run=false;
 }
 
 private IEnumerator LoadAsset(string s)
 {
     Debug.Log("Loading " + s + " ...");
     request = new WWW(s);
     while (! request.isDone)
         // avoid freezing the editor:
         yield return ""; // just wait.
     // I don't like the following line because it will freeze up 
     // your editor.  So I commented it out.  
     // yield return request;
     if(request.error != null)
         Debug.LogError(request.error);
     GameObject g = (GameObject) request.assetBundle.mainAsset as GameObject;
     Instantiate(g);
 }
 
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值