public static void RegisterModule(LuaEnvironment env) { System.Diagnostics.Debug.Assert(env != null); var types = from ass in AppDomain.CurrentDomain.GetAssemblies() from type in ass.GetTypes() where type.Namespace == NAMESPACE && type.IsValueType && !type.IsAbstract && type.IsPublic select type; LuaTable module = LuaEnvironment.ValueConverter.CreateModuleFromTypes(types, ModuleName); module.SetNameValue("_G", env.Environment); module.SetNameValue("__index", module); env.SetNameValue(ModuleName, module); }