Lua__读取指定路径下的.Lua文件

本文深入探讨了Xlua在Unity环境下实现热更新的具体方法,包括Lua环境的初始化、自定义Lua文件加载路径以及资源释放过程。通过实例代码,详细解释了如何利用Xlua进行动态代码加载与执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using XLua;

public class Hotfix : MonoBehaviour {

    private LuaEnv luaEnv;

    void Awake()
    {
        luaEnv = new LuaEnv();
        luaEnv.AddLoader(xLuaLoader); //使用这个可以自定义.lua文件的路径
        //require 这个本质就是Lua会按照已定义好的路径去查找相应的文件,具体的路径可以把搜索的.Lua设为空,Xlua报错时就会弹出它之前所找的文件夹的路径了
        luaEnv.DoString("require'Test'"); //当没有AddLoader()方法时,Lua只会执行Resources文件夹以及固定文件夹下的.lua文件
    }
    private byte[] xLuaLoader(ref string filePath) //**如果不加这个监听
    {
        Debug.Log(filePath.ToString()); //输出: Test
        string path = @"D:\WorkSpaceUnity\Xlua__PuYuDaRen\FishingJoy\XLuaScript\"+filePath+@".lua";
        return System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path));
    }

    private void OnDisable() {

        luaEnv.DoString("require'Close'");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值