//添加方法 public static void addEventLinstener(XLua.LuaTable scriptEnv, string priex = "do") { IEnumerator it = scriptEnv.GetKeys().GetEnumerator(); try { while (it.MoveNext()) { object f = scriptEnv.Get <object>(it.Current.ToString()); if (f != null && f.GetType() == typeof(XLua.LuaFunction)) { if (it.Current.ToString().StartsWith(priex)) { int name = int.Parse(it.Current.ToString().Substring(priex.Length)); unityAction3 unityFunction; scriptEnv.Get(it.Current.ToString(), out unityFunction); if (!isLinsteners(name)) { funcs.Add(name, unityFunction); } Logger.wanr(it.Current, "Lua 事件注册成功"); } } } } catch (Exception e) { Logger.wanr("Lua事件注册时出错"); Logger.wanr(e.Message); } }
public static void addLuaEventListener(XLua.LuaTable scriptEnv, string priex = "do") { IEnumerator it = scriptEnv.GetKeys().GetEnumerator(); try { while (it.MoveNext()) { object f = scriptEnv.Get <object>(it.Current.ToString()); if (f != null && f.GetType() == typeof(XLua.LuaFunction)) { if (it.Current.ToString().StartsWith(priex)) { int name = int.Parse(it.Current.ToString().Substring(priex.Length)); Node node = new Node(); node.parent = null; node.method = null; //unityAction3 unityFunction; //scriptEnv.Get(it.Current.ToString(), out node.action); node.action = scriptEnv.Get <XLua.LuaFunction>(it.Current.ToString()); if (!dict.ContainsKey(name)) { dict.Add(name, node); Logger.wanr(it.Current, "Lua 事件注册成功"); } else { Logger.wanr("Lua方法注册 失败: " + name); } } } } } catch (Exception e) { Logger.wanr("Lua事件注册时出错"); Logger.wanr(e.Message); } }