zoukankan      html  css  js  c++  java
  • Xlua热更新

    ---恢复内容开始---

    1.当配置好xlua环境后,依次点击编辑栏的Xlua选项,如下:

     2.在工程文件中找到AssetsXluaResources,在此目录下新建两个txt文本,命名格式为xxx.lua.txt

    3.在unity中创建编译脚本

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using XLua;
    using System.IO;
    
    public class XluaStudy : MonoBehaviour {
            //定义一个Xlua虚拟机
            private LuaEnv ev;
            // Use this for initialization
            void Start () {
            ev = new LuaEnv();
            //添加一个资源加载器
            ev.AddLoader(MyLoader);
            //执行对应文本文件
            ev.DoString("require'XluaMytest'");
        }
         //加载器
         private  byte[] MyLoader(ref string filePath) {
            //路径
            string path = @"D:Unity566f2unityWorksunityworkFishMaster_Study AssetsXLuaResources"
                            +filePath+".lua.txt";
            return System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path));
        }
        //在不用时释放虚拟机
        private void OnDisable() {
           //之前的赋值置空
            ev.DoString("require'XluaDispose'");
            //释放
            ev.Dispose();
        }
    }

    4.给第二步中的两个文本写入更新操作

    第一个文本XluaMytest.lua.txt():

     print('hollow123456')

     xlua.hotfix(CS.GameManager, 'ClickBigTimerBtn', function(self)

                         self:AddPlayerGold(1) 

                        self. _bigTimer = self.bigTime

                        self:BigTimerBtnInteractable(false)

    end)

    第二个文本XluaDispose.lua.txt(用于置空虚拟机运行的方法):

    xlua.hotfix(CS.GameManager, 'ClickBigTimerBtn', nil)

    5.需要注意的是,需要更新的脚本需要引用Xlua命名空间,类的前面加上标签[Hotfix],;类中需要更新的方法加上标签[LuaCallCSharp]

     (如果原项目的脚本有改动,需要执行本文的第1步操作)

    被更新的方法

    ---恢复内容结束---

  • 相关阅读:
    CAN总线学习资料
    VMware虚拟机 硬盘空间不足 磁盘大小调整方案
    郭天祥-S3C2440开发板Linux2.6.31移植教程
    MFC串口编程——使用标准SerialCom类
    Luogu P2602 [ZJOI2010]数字计数 //数位DP
    luogu P1896 [SCOI2005] 互不侵犯 //状压DP
    中北大学ACM 5/12 T6 CSY的幸福
    P2473 || SCOI2008 奖励关 //状压&&期望DP
    请让蝴蝶爬满全身
    【图论】二分图 // 未完成 =、=
  • 原文地址:https://www.cnblogs.com/RainPaint/p/10115320.html
Copyright © 2011-2022 走看看