unity热更新框架Xlua--自定义Loader方式

本博客根据51CTOscholl刘国柱老师网课编写,小白笔记,侵权必删

创建C#脚本:

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

public class RunluaBySelfDefloader : MonoBehaviour
{
    //lua环境
    LuaEnv env = null;

    private void Start()
    {
        env = new LuaEnv();

        env.AddLoader(CustomMyLoader);
        env.DoString("require'CustomDIRLuaFile'");
    }

    /// 
    /// //定义回调方法
    /// 功能:
    ///     本方法主要功能自定义lua文件路径
    /// 
    /// 
    /// 
    private byte[] CustomMyLoader(ref string filepath)
    {
        byte[] byArrayReturn = null;

        //定义文件路径
        string luaPath = Application.dataPath + "/Scripts/luaFile/" + filepath + ".lua";

        string strLuaContent = File.ReadAllText(luaPath);
        //数据类型转换
        byArrayReturn = System.Text.Encoding.UTF8.GetBytes(strLuaContent);


        return byArrayReturn;
    }


    private void OnDestroy()
    {
        //释放env
        env.Dispose();
    }
}

在目录Assets/Scripts/目录下建立文件夹luaFile
在此文件夹下建立文件CustomDIRLuaFile.lua:

--自定义路径方式来加载lua文件(最商业的做法)
print("自定义路径方式来加载lua文件(最商业的做法)")

输出结果:
在这里插入图片描述

具体细节见代码,代码里有详细注释

你可能感兴趣的:(Lua,编程)