xLuaにいくつかのピットプロジェクトを追加し、遭遇



1、xLuaを追加

  1. テンセントxLuaはGitHubの上の最新バージョンをダウンロード

  2. フォルダツールと4つのファイルの下の資産フォルダをプロジェクトに追加します

  3. プレイヤーは、プロジェクトのマクロHOTFIX_ENABLEの設定追加

  4. だけインポートアイテムxLua追加3つのDLLファイルのUnityインストールディレクトリ
    インポートdllファイル
    F:\ユニティ\エディタ\データ\マネージド
    Unity.Cecil.dll
    Unity.Cecil.Mdb.dll
    Unity.Cecil.Pdb.dllの
    インポート
    \資産\ XLua \ SRC \エディタ 

  5. 左上隅をクリックしてコード+修正プログラムを注入でEの注入コードを生成

    成功したショーの場合:

    その後、正常に追加


一般的なエラーxLuaの答えを使用して

2ノート

  1. 任意のC#コードの修正では、我々は再注入コードにする必要があります。LUAファイルのコードを変更する必要はありません。

  2. あなたはゲームがxLuaを削除するには来るべきであり、その後、クリア+ GC + HIIE再注入コード公開の例の一例

3、私は解決策であるピットの一部に会いました

  1. LUA仮想マシンの初期化とパッチアウェイク機能を配置する、またはパッチが無効であってもよいです。

  2. 注入xlua.hotfix経由コード(クラス、メソッド、FUNC) 、およびその後もxlua.hotfix(クラス、メソッド、NIL)によって削除 。
    LUA仮想マシンのリリース(releaseメソッドのOnDestroy、その後、削除方法はOnDestroy期間OnDisableの前に配置することができます)前に完了するように注意してください。

  3. 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"},

ブラックリストに追加しました
。図に示される結果:

  1. テキストエンコーディング形式に注意を払うがUTF8であるので、カスタムローカル使用UTF8からファイルが読み込まれ、ローダの負荷が、そうでなければ私はうまくいかないかもしれません。
System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path));

おすすめ

転載: www.cnblogs.com/Fflyqaq/p/11837109.html