private static void SetLockedCallbackImpl(IntPtr ptr, Result result)
        {
            GCHandle         h        = GCHandle.FromIntPtr(ptr);
            SetLockedHandler callback = (SetLockedHandler)h.Target;

            h.Free();
            callback(result);
        }
        /// <summary>
        ///     Locks or unlocks input in the overlay. Calling SetLocked(true); will also close any modals in the overlay or in-app
        ///     from things like IAP purchase flows and disallow input.
        /// </summary>
        /// <param name="locked"></param>
        /// <param name="callback"></param>
        public void SetLocked(bool locked, SetLockedHandler callback)
        {
            GCHandle wrapped = GCHandle.Alloc(callback);

            Methods.SetLocked(methodsPtr, locked, GCHandle.ToIntPtr(wrapped), SetLockedCallbackImpl);
        }