public void RegisterFuncByMethodInfo(String funcName, MethodInfo m, LuaAPI.lua_CFunction cfunc) { if (m == null) { return; } else { methods.Add(m); paramters.Add(m.GetParameters()); int a = LuaInstance.MergeInt(registerFuntionIndex, classIndex); lua.PushInteger(a); lua.PushLuaClosure(cfunc, 1); lua.SetField(-2, funcName); registerFuntionIndex++; } }
private void RegisterField() { fields = registerType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static); if (fields == null) { return; } else { LuaAPI.lua_CFunction cfunc = LuaInstance.SetField; for (int i = 0; i < fields.Length; i++) { int a = LuaInstance.MergeInt(fieldIndex, classIndex); lua.PushInteger(a); lua.PushLuaClosure(cfunc, 1); lua.SetField(-2, fields[i].Name); fieldIndex++; } } }