Blank 6d5eb77867 | ||
---|---|---|
.github/workflows | ||
Editor | ||
Runtime | ||
CHANGELOG.md | ||
CHANGELOG.md.meta | ||
Editor.meta | ||
LICENSE.md | ||
LICENSE.md.meta | ||
README.md | ||
README.md.meta | ||
Runtime.meta | ||
package.json | ||
package.json.meta |
README.md
HOMEPAGE
GameFrameX 的 XLua 组件
** XLua 组件 (XLua Component)** - 提供了执行 Lua 代码、加载 Lua 脚本、管理 Lua 环境等操作的接口。
使用文档(文档编写于GPT4)
XLuaComponent 说明文档
XLuaComponent
是一个用于集成 XLua 功能的组件,提供了执行 Lua 代码、加载 Lua 脚本、管理 Lua 环境等操作的接口。
功能概述
- 环境管理:初始化和清理 Lua 环境。
- 执行脚本:运行 Lua 代码字符串或字节码。
- 加载代码:加载 Lua 脚本并获取可执行的函数。
- 扩展功能:添加自定义函数和类型别名,增强 Lua 的能力。
- 自定义加载器:支持从不同来源加载 Lua 脚本。
- 数据操作:创建和操作 Lua 表。
- 内存管理:控制 Lua 的垃圾回收机制。
方法说明
Awake
初始化组件,获取 Lua 管理器实例并初始化 Lua 环境。
参数: 无
返回值: 无
DoString(string lua, string chunkName = "chunk", LuaTable env = null)
执行 Lua 代码字符串。
参数:
lua
: Lua 代码字符串。chunkName
: 代码块名称,默认为 "chunk"。env
: Lua 环境表,默认为 null。
返回值: 执行结果数组。
DoString(byte[] luaBytes, string chunkName = "chunk", LuaTable env = null)
执行 Lua 字节数组。
参数:
luaBytes
: Lua 字节数组。chunkName
: 代码块名称,默认为 "chunk"。env
: Lua 环境表,默认为 null。
返回值: 执行结果数组。
LoadString(string lua, string chunkName = "chunk", LuaTable env = null)
加载 Lua 代码字符串。
参数:
lua
: Lua 代码字符串。chunkName
: 代码块名称,默认为 "chunk"。env
: Lua 环境表,默认为 null。
返回值: 加载的 Lua 函数。
LoadString(string lua, string chunkName = "chunk", LuaTable env = null)
加载 Lua 代码字符串并返回指定类型。
参数:
lua
: Lua 代码字符串。chunkName
: 代码块名称,默认为 "chunk"。env
: Lua 环境表,默认为 null。
返回值: 加载的 Lua 函数,类型为 T。
AddBuildIn(string buildInName, lua_CSFunction init)
添加内置函数。
参数:
buildInName
: 内置函数名称。init
: 初始化函数。
返回值: 无
AddLoader(LuaEnv.CustomLoader loader)
添加自定义加载器。
参数:
loader
: 自定义加载器。
返回值: 无
NewTable()
创建新的 Lua 表。
参数: 无
返回值: 新的 Lua 表。
Dispose()
释放 Lua 环境。
参数: 无
返回值: 无
GetGlobal()
获取全局 Lua 表。
参数: 无
返回值: 全局 Lua 表。
Tick()
进行一次 Lua 垃圾回收。
参数: 无
返回值: 无
Alias(Type type, string alias)
为指定类型添加别名。
参数:
type
: 指定类型。alias
: 类型别名。
返回值: 无
GC()
执行一次 Lua 垃圾回收。
参数: 无
返回值: 无
RestartGc()
重新启动 Lua 垃圾回收。
参数: 无
返回值: 无
FullGc()
进行一次完整 Lua 垃圾回收。
参数: 无
返回值: 无
GcStep(int data)
执行 Lua 垃圾回收一步。
参数:
data
: 回收数据。
返回值: 无
StopGc()
停止 Lua 垃圾回收。
参数: 无
返回值: 无
使用方式(任选其一)
-
直接在
manifest.json
的文件中的dependencies
节点下添加以下内容{"com.gameframex.unity.xlua": "https://github.com/AlianBlank/com.gameframex.unity.xlua.git"}
-
在Unity 的
Packages Manager
中使用Git URL
的方式添加库,地址为:https://github.com/AlianBlank/com.gameframex.unity.xlua.git -
直接下载仓库放置到Unity 项目的
Packages
目录下。会自动加载识别