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

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

private PushField ( IntPtr push_to_L, FieldInfo field ) : int
push_to_L System.IntPtr
field System.Reflection.FieldInfo
Результат int
        private int PushField(lua_State push_to_L, FieldInfo field)
        {
            if (!field.IsPublic)
            {
                return 0;
            }

            InvokeLua.lua_CFunction fieldFunc =
                delegate(lua_State L)
                {
                    if (InvokeLua.lua_touserdata(L, 1) != userdata)
                    {
                        return InvokeLua.luaL_argerror(L, 1, "bad method invocation");
                    }
                    if (InvokeLua.lua_gettop(L) == 1)
                    {
                        PushValue(L, field.GetValue(this), proxied, proxiedByUserdata);
                        return 1;
                    }

                    return 0;
                };

            InvokeLua.lua_pushcfunction(push_to_L, fieldFunc);
            return 1;
        }