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); }