/// <summary> /// Creates a new LUA state from the given state. The class will not try load the /// default libraries for this instance. /// </summary> /// <param name="state">An existing LUA state.</param> public LuaState(IntPtr state) { if (state == IntPtr.Zero) { // Invalid parameter throw new ArgumentException("State must not be zero.", "state"); } lua = state; stack = new LuaStack(this); tables = new LuaTables(this); gc = new LuaGC(this); }
/// <summary> /// Creates a new empty LUA state object. /// </summary> public LuaState() { lua = NativeLua.lua_open(); if (lua == IntPtr.Zero) { // Error initializing subsystem throw new LuaException("Error initializing LUA subsystem"); } stack = new LuaStack(this); tables = new LuaTables(this); gc = new LuaGC(this); }