ダウンロードXLua:https://github.com/tencent/xlua
XLua単にプラグインとXLua 2つのフォルダがU3Dにコピーすることができ、プロジェクトで使用
XLuaインタラクティブのLuaとC#を実装するためだけのコアが、便利な「フレームワーク」を提供していない、我々はプロジェクトでXLuaを使用し、その後、 「Luaは、クライアントのホットアップデートを完了するために、サーバからABおよびリソースをダウンロード」を達成するように、フレーム部分を実装
C#の呼び出しLuaの
使用XLua;
// LuaEnvの例では、Luaの仮想マシン、それが推奨されているグローバルに一意
LuaEnv luaEnv新しい新LuaEnv =();
luaEnv.DoString( "印刷( 'テスト')");
外部のLUAコールC#コードファイル
XLuaでfileName.lua.txt:完全なLuaのファイル名形式でXLua; \ Resourcesフォルダは、LUAファイルを作成し、ファイルの拡張子はTXTです
負荷とは、LUAファイルを実行し、C#のコードによって、その後DoString Luaの仮想マシン方法:
luaEnv.DoString(「必要『extraTestLua』」); //パスと接尾書いてはいけません
で取得したC#のLuaのコードデータ
luaEnv.Global.Getを<整数>( "A") ; // LUAの値を取得
luaEnv.Global.Get <文字列>( "B" ); //はLuaの中で文字列を取得
luaEnv.Global.Get <ブール>( "C" ); //取得LUAブール
luaEnv.Global.Get <LuaFunction>( "D" ); // LUAの方法を取得します
LuaはC#を呼び出します
CS.UnityEngine.GameObject
()CS.UnityEngine.Debug.Logを
CS.UnityEngine.GameObject.Find()
CS:// LuaはC#に名前空間接頭辞の前に必要な、C#のを呼び出します。
LuaEnv = LuaEnv 新しい新 LuaEnv(); // Luaの仮想マシンの実行 // luaEnv.DoString( "印刷( 'hellow')"); luaEnv.DoString(" 必要'extraTestLua' "); // C#のコール外部コード・ファイルのLua 、ノーライトパスとサフィックス INT A = luaEnv.Global.Get < 整数 >(" A "); // 取得Luaの値の 文字列 B = luaEnv.Global.Get < ストリング >(" B "); // Luaの文字列取得 BOOL C = luaEnv.Global.Getを< BOOL >( " C"); // 获取LUA中的布尔 LuaFunction D = luaEnv.Global.Get <LuaFunction>(" D "); // 获取LUA的メソッド中 d.Call(); 文字列 luaScript = @" ローカルゲームオブジェクト= CS。 UnityEngine.GameObject ローカルデバッグ= CS.UnityEngine.Debug ローカルプレイヤー=ゲームオブジェクト( 'XXXXX') DEBUG.LOG(player.name) ローカルカメラ= GameObject.Find( 'メインカメラ') DEBUG.LOG(camera.name) 」。 luaEnv.DoString(luaScript)。