Unity使用C#通过自定义Loader加载指定目录的Lua脚本
2018-03-06 23:16
811 查看
该代码是基于XLua,XLua插件下载链接:https://github.com/Tencent/xLua
代码如下:using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
public class CreateLoader : MonoBehaviour {
private LuaEnv m_luaEnv;
// Use this for initialization
void Awake () {
m_luaEnv = new LuaEnv();
m_luaEnv.AddLoader(MyLoader);
m_luaEnv.DoString("require 'test001'");
}
// Update is called once per frame
void Update () {
}
/// <summary>
/// 自定义loader,如果返回为null则调用内置的loader
/// </summary>
/// <param name="_filePath"></param>
/// <returns></returns>
private byte[] MyLoader(ref string _filePath)
{
string luaPath = Application.streamingAssetsPath + "/" + _filePath + ".lua.txt";
return System.Text.Encoding.UTF8.GetBytes(System.IO.File.ReadAllText(luaPath));
}
private void OnDestroy()
{
m_luaEnv.Dispose();
}
}
代码如下:using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
public class CreateLoader : MonoBehaviour {
private LuaEnv m_luaEnv;
// Use this for initialization
void Awake () {
m_luaEnv = new LuaEnv();
m_luaEnv.AddLoader(MyLoader);
m_luaEnv.DoString("require 'test001'");
}
// Update is called once per frame
void Update () {
}
/// <summary>
/// 自定义loader,如果返回为null则调用内置的loader
/// </summary>
/// <param name="_filePath"></param>
/// <returns></returns>
private byte[] MyLoader(ref string _filePath)
{
string luaPath = Application.streamingAssetsPath + "/" + _filePath + ".lua.txt";
return System.Text.Encoding.UTF8.GetBytes(System.IO.File.ReadAllText(luaPath));
}
private void OnDestroy()
{
m_luaEnv.Dispose();
}
}
相关文章推荐
- Unity中XLua开发之使用C#加载lua脚本
- C#使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- C#使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- C#使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- Unity使用C#自定义loader
- shell脚本中使用自定义命令之三---通过加载一个envsetup.sh实现
- shell脚本中使用自定义命令之四---通过加载.bashrc实现
- C#使用SQLite出错:无法加载 DLL“SQLite.Interop.dll”,找不到指定的模块
- 使用Lua脚本为wireshark编写自定义通信协议解析器插件
- 使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- C# 调用lua 报错未能加载文件或程序集“lua51.dll”或它的某一个依赖项。找不到指定的模块。 解决方法
- 【COCOS2DX-LUA 脚本开发之四】使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- 使用Lua脚本为wireshark编写自定义通信协议解析器插件
- 编译类【COCOS2DX-LUA 脚本开发之十四】解决自定义CPP类通过TOLUA++ BINDING LUACOCOS2D后编译到ANDROID运行黑屏(没有调用自定义CPP类)的问题!
- 【COCOS2DX-LUA 脚本开发之十四】解决自定义CPP类通过TOLUA++ BINDING LUACOCOS2D后编译到ANDROID运行黑屏(没有调用自定义CPP类)的问题!
- c#通过资源加载字体供winform使用
- (tomcat中级)应用Tomcat的WebappClassLoader加载指定目录的jar文件
- 使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- 【COCOS2DX-LUA 脚本开发之五】Lua 使用OOP(面对对象思想编程),免Binding创建自定义lua类
- (tomcat中级)应用Tomcat的WebappClassLoader加载指定目录的jar文件