AGS.Plugin.Lua.LuaDotNetObjectProxy.LuaDotNetObjectProxy C# (CSharp) Метод

LuaDotNetObjectProxy() приватный Метод

private LuaDotNetObjectProxy ( IntPtr L, object o, LuaDotNetObjectProxy>.Dictionary proxied, LuaDotNetObjectProxy>.Dictionary proxiedByUserdata ) : System
L System.IntPtr
o object
proxied LuaDotNetObjectProxy>.Dictionary
proxiedByUserdata LuaDotNetObjectProxy>.Dictionary
Результат System
        private LuaDotNetObjectProxy(lua_State L, object o, Dictionary<object,LuaDotNetObjectProxy> proxied,
            Dictionary<IntPtr,LuaDotNetObjectProxy> proxiedByUserdata)
        {
            this.proxied = proxied;
            this.proxiedByUserdata = proxiedByUserdata;
            this.proxy_for = o;
            proxy_type = o.GetType();

            userdata = InvokeLua.lua_newuserdata(L, (UIntPtr)1);

            proxied[proxy_for] = this;
            proxiedByUserdata[userdata] = this;

            InvokeLua.lua_pushlightuserdata(L, userdata);
            InvokeLua.lua_pushvalue(L, -2);
            InvokeLua.lua_rawset(L, InvokeLua.LUA_REGISTRYINDEX);

            InvokeLua.lua_newtable(L);

            InvokeLua.lua_pushcfunction(L, __Index);
            InvokeLua.lua_setfield(L, -2, "__index");

            InvokeLua.lua_pushcfunction(L, __ToString);
            InvokeLua.lua_setfield(L, -2, "__tostring");

            InvokeLua.lua_setmetatable(L, -2);
        }

Same methods

LuaDotNetObjectProxy::LuaDotNetObjectProxy ( IntPtr L, object o ) : System