Xlua文件在熱更新中調用方法


Xlua文件在熱更新中調用方法

 public class news : MonoBehaviour

{

     LuaEnv luaEnv;//定義Lua初始變量

    void Awake()

    {

        luaEnv = new LuaEnv();//new開辟空間

        luaEnv.AddLoader(myload);//調用方法地址、返回字節

        luaEnv.DoString("require'fish'");//更新文件

    }

void  OnDisable ()

      {

          //調用xlua.hotfix執行完數據歸空

           luaEnv.DoString (xlua.hotfix(CS.Treasour,'CreatePrize',nil);

      }

     void OnDestroy()

     {

         luaEnv.Dispose();

     }

         //方法myload加載、返回類型字節、參數路徑

    private byte[] myload(ref string filepath)

{

         //文件地址,加載地址的切換

        string abspath = @"F:\5.6.1\FishingJoy\AssetBundles\" + filepath + ".lua.txt";

          //換回數據流

        return System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(abspath));

    }

}

注:在C#通過LuaTable.Get獲取並保存到對象成員,賦值該成員為null,通過xlua.hotfix(class, method, func)注入到C#,則通過xlua.hotfix(class, method, nil)刪除,操作在Dispose之前完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM