ディレクトリ
1、xLuaを追加
テンセントxLuaはGitHubの上の最新バージョンをダウンロード
フォルダツールと4つのファイルの下の資産フォルダをプロジェクトに追加します
プレイヤーは、プロジェクトのマクロHOTFIX_ENABLEの設定追加
だけインポートアイテムxLua追加3つのDLLファイルのUnityインストールディレクトリ
インポートdllファイル
F:\ユニティ\エディタ\データ\マネージド
Unity.Cecil.dll
Unity.Cecil.Mdb.dll
Unity.Cecil.Pdb.dllの
インポート
\資産\ XLua \ SRC \エディタ左上隅をクリックしてコード+修正プログラムを注入でEの注入コードを生成
成功したショーの場合:
その後、正常に追加
2ノート
任意のC#コードの修正では、我々は再注入コードにする必要があります。LUAファイルのコードを変更する必要はありません。
あなたはゲームがxLuaを削除するには来るべきであり、その後、クリア+ GC + HIIE再注入コード公開の例の一例
3、私は解決策であるピットの一部に会いました
LUA仮想マシンの初期化とパッチアウェイク機能を配置する、またはパッチが無効であってもよいです。
注入xlua.hotfix経由コード(クラス、メソッド、FUNC) 、およびその後もxlua.hotfix(クラス、メソッド、NIL)によって削除 。
LUA仮想マシンのリリース(releaseメソッドのOnDestroy、その後、削除方法はOnDestroy期間OnDisableの前に配置することができます)前に完了するように注意してください。- Luaのコードは問題ありませんが、AssetBundlesをパッケージ化する際のエラー:
Assets/XLua/Gen/UnityEngineLightWrap.cs(614,59): error CS1061: Type `UnityEngine.Light' does not contain a definition for `lightmapBakeType' and no extension method `lightmapBakeType' of type `UnityEngine.Light' could be found. Are you missing an assembly reference?
解決策:ファイルExampleGenConfig.csにxLua文書を見つける
コード:
new List<string>(){"UnityEngine.Light", "lightmapBakeType"},
ブラックリストに追加しました
。図に示される結果:
- テキストエンコーディング形式に注意を払うがUTF8であるので、カスタムローカル使用UTF8からファイルが読み込まれ、ローダの負荷が、そうでなければ私はうまくいかないかもしれません。
System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path));