• 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.1FishingJoyAssetBundles" + 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之前完成

    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    mysql 登录远程数据库
    git rebase
    Maven -DskipTests和-Dmaven.test.skip=true的区别
    Code Labels
    AUC计算
    nohup 同时实现记录日志和屏幕输出
    [转]
    sshpass 配置密码登录ssh
    MyEclipse里面如何把偏好设置导出
    (转)一位资深程序员大牛给予Java初学者的学习路线建议
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/9651465.html
Copyright © 2020-2023  润新知