Skip to content

Commit

Permalink
增加从 AssetBundle 中加载字节码并运行的示例代码
Browse files Browse the repository at this point in the history
  • Loading branch information
xebecnan committed Nov 3, 2013
1 parent d22b344 commit f2471b7
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ UpgradeLog*.XML
/Assembly-CSharp-vs.csproj
/Assembly-CSharp.csproj
/Assembly-CSharp.pidb
/Assembly-CSharp-Editor-vs.csproj
/Assembly-CSharp-Editor.csproj
/*.sln
/*.userprefs
/Temp
22 changes: 21 additions & 1 deletion Assets/Behaviour/LuaScriptController.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Collections;
using UnityEngine;
using UniLua;

Expand Down Expand Up @@ -45,8 +46,27 @@ void Awake() {
CallMethod( AwakeRef );
}

void Start() {
IEnumerator Start() {
CallMethod( StartRef );

// -- sample code for loading binary Asset Bundles --------------------
String s = "file:///"+Application.streamingAssetsPath+"/testx.unity3d";
WWW www = new WWW(s);
yield return www;
if(www.assetBundle.mainAsset != null) {
TextAsset cc = (TextAsset)www.assetBundle.mainAsset;
var status = Lua.L_LoadBytes(cc.bytes, "test");
if( status != ThreadStatus.LUA_OK )
{
throw new Exception( Lua.ToString(-1) );
}
status = Lua.PCall( 0, 0, 0);
if( status != ThreadStatus.LUA_OK )
{
throw new Exception( Lua.ToString(-1) );
}
Debug.Log("---- call done ----");
}
}

void Update() {
Expand Down
5 changes: 5 additions & 0 deletions Assets/Editor.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions Assets/Editor/TestBundle.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

using UnityEngine;
using UnityEditor;

public class ExportAssetBundles {
[MenuItem("Assets/Build AssetBundle")]
static void Export() {
foreach(Object o in Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets)) {
BuildPipeline.BuildAssetBundle( o, null, "Assets/StreamingAssets/" + o.name + ".unity3d", BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.StandaloneWindows );
}
}
}
8 changes: 8 additions & 0 deletions Assets/Editor/TestBundle.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Assets/StreamingAssets/testx.unity3d
Binary file not shown.
4 changes: 4 additions & 0 deletions Assets/StreamingAssets/testx.unity3d.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit f2471b7

Please sign in to comment.