Xlua
帅_shuai_
用自己的努力去收获自己的未来
展开
-
Excel转换为Lua的配置文件
首先我们下载一个第三方开源库,来给Excel表生成lua配置文件,下载地址https://github.com/XINCGer/Unity3DTraining/tree/master/XlsxToolsexcel文件必须保存为.xls格式,而不是.xlsx格式左下角的tab页签名字必须个文件名一样,并且加一个#前缀,比如我的这个CharacterTable文件,tab页签名字是#CharacterTableexcel的前4行是有特殊含义的:第1行是每个字段的名字说明第2行是每个字段的变量类型,一般只支持in原创 2022-07-05 21:34:31 · 2010 阅读 · 0 评论 -
Unity Xlua MonoProxy Mono代理类
Unity Xlua原创 2022-07-04 17:39:19 · 3489 阅读 · 0 评论 -
Unity XLua 协程封装
Unity XLua 协程 封装原创 2022-07-01 10:16:50 · 648 阅读 · 0 评论 -
Unity XLua 热更框架
Unity XLua 热更框架一.框架设计图二.自定义映射脚本using System;using UnityEngine;using XLua;[System.Serializable]public class Injection{ public string name; public GameObject value;}[System.Serializable]public class InjectionLuaScript{ public strin原创 2022-03-21 16:07:14 · 837 阅读 · 0 评论 -
Unity Xlua之Hotfix热补丁 (二)
Unity Xlua之Hotfix热补丁 (二)一.属性和索引器替换属性固定的写法set_属性名称,get_属性名称索引器固定写法set_Item,Set_Item private int age; private int Age { get { return 0; } set { age = value; } }原创 2022-03-19 10:12:55 · 951 阅读 · 0 评论 -
Unity Xlua之Hotfix热补丁 (一)
Unity Xlua之Hotfix热补丁 (一)一.第一个热补丁想要打热补丁的类前需要加上[Hotfix]特性第一次打热补丁需要加上宏HOTFIX_ENABLE点击生成代码点击注入热补丁例如我想修改如下代码中的两个方法,无论是公有方法还是私有方法都可以修改[Hotfix]public class HotfixMain : MonoBehaviour{ private void Start() { LuaMgr.GetInstance().Init();原创 2022-03-18 21:23:20 · 1309 阅读 · 0 评论 -
Unity Xlua 之 Lua调用C#(四)
Unity Xlua 之 Lua调用C#(四)一.Lua和系统类,系统委托调用系统自定义的类或者委托,当我们需要调用时要加[LuaCallCSharp]时,不能直接加入public static class Lesson10{ [CSharpCallLua] private static List<Type> allCSharpCallLuaList = new List<Type>() { typeof(UnityAction&l原创 2022-03-17 10:25:06 · 416 阅读 · 0 评论 -
Unity Xlua 之 Lua调用C#(三)
Unity Xlua 之 Lua调用C#(三)一.Lua使用C#委托和事件Lua中不能直接使用[index]来获取二维数组中的元素public class Lesson8{ public int[,] array = { { 1, 2, 3 }, { 1, 2, 3 } };}Lesson8 = CS.Lesson8local l8 = Lesson8()print(l8.array:GetLength(0))print(l8.array:GetLength(1))for原创 2022-03-16 19:39:36 · 971 阅读 · 0 评论 -
Unity Xlua 之 Lua调用C#(二)
Unity Xlua 之 Lua调用C#(二)一.Lua使用C#拓展方法使用C#中的拓展方法,需要在拓展方法那个静态类上面打上标签,Lua才能调用建议Lua调用C#的类都加上LuaCallCSharp标签,对于程序集中的类,之后的文章有说明[LuaCallCSharp]public static class Lesson4Ext{ public static void Eat(this Lesson4 lesson4, string str) { Debug.原创 2022-03-16 10:21:24 · 849 阅读 · 0 评论 -
Unity Xlua 之 Lua调用C#(一)
Unity Xlua 之 Lua调用C#(一)一.Lua使用C#类public class MyClass1{ public void Test(string str) { Debug.Log("MyClass1:"+str); }}namespace Zzs{ public class MyClass2 { public void Test(string str) { Debug.原创 2022-03-15 19:25:08 · 917 阅读 · 0 评论 -
Unity Xlua 之 C#调用Lua(三)
Unity Xlua 之 C#调用Lua(三)一.List和Dictionary映射tablepublic class Lesson06_LuaListDic : MonoBehaviour{ private void Start() { LuaMgr.GetInstance().Init(); LuaMgr.GetInstance().LoadFile("Main"); var globalTable = LuaMgr.GetInsta原创 2022-03-15 11:00:57 · 670 阅读 · 0 评论 -
Unity Xlua 之 C#调用Lua(二)
Unity Xlua 之 C#调用Lua(二)一.全局变量的获取只能获取全局变量通过GlobalTablepublic class Lesson04_LuaGlobal : MonoBehaviour{ private void Start() { LuaMgr.GetInstance().Init(); LuaMgr.GetInstance().LoadFile("Main"); var globalTable = LuaMgr.G原创 2022-03-14 17:17:33 · 740 阅读 · 0 评论 -
Unity Xlua 之 C#调用Lua(一)
Unity Xlua 之 C#调用Lua(一)一.Lua解析器(LuaEnv)执行Lua代码,加载Lua文件执行public class Lesson01_LuaEnv : MonoBehaviour{ private LuaEnv _luaEnv; private void Start() { _luaEnv = new LuaEnv(); _luaEnv.DoString("print('Unity!')"); _luaEn原创 2022-03-14 15:26:25 · 1108 阅读 · 0 评论