/// <summary> /// Register to receive notifications when a user accepts a join game option via the social overlay. /// @note must call RemoveNotifyJoinGameAccepted to remove the notification /// </summary> /// <param name="options">Structure containing information about the request.</param> /// <param name="clientData">Arbitrary data that is passed back to you in the CompletionDelegate.</param> /// <param name="notificationFn">A callback that is fired when a a notification is received.</param> /// <returns> /// handle representing the registered callback /// </returns> public ulong AddNotifyJoinGameAccepted(AddNotifyJoinGameAcceptedOptions options, object clientData, OnJoinGameAcceptedCallback notificationFn) { System.IntPtr optionsAddress = new System.IntPtr(); Helper.TryMarshalSet <AddNotifyJoinGameAcceptedOptionsInternal, AddNotifyJoinGameAcceptedOptions>(ref optionsAddress, options); var clientDataAddress = System.IntPtr.Zero; var notificationFnInternal = new OnJoinGameAcceptedCallbackInternal(OnJoinGameAcceptedCallbackInternalImplementation); Helper.AddCallback(ref clientDataAddress, clientData, notificationFn, notificationFnInternal); var funcResult = EOS_Presence_AddNotifyJoinGameAccepted(InnerHandle, optionsAddress, clientDataAddress, notificationFnInternal); Helper.TryMarshalDispose(ref optionsAddress); Helper.TryAssignNotificationIdToCallback(clientDataAddress, funcResult); return(funcResult); }
/// <summary> /// Register to receive notifications when a user accepts a join game option via the social overlay. /// @note must call RemoveNotifyJoinGameAccepted to remove the notification /// </summary> /// <param name="options">Structure containing information about the request.</param> /// <param name="clientData">Arbitrary data that is passed back to you in the CompletionDelegate.</param> /// <param name="notification">A callback that is fired when a a notification is received.</param> /// <returns> /// handle representing the registered callback /// </returns> public ulong AddNotifyJoinGameAccepted(AddNotifyJoinGameAcceptedOptions options, object clientData, OnJoinGameAcceptedCallback notificationFn) { var optionsInternal = Helper.CopyProperties <AddNotifyJoinGameAcceptedOptionsInternal>(options); var notificationFnInternal = new OnJoinGameAcceptedCallbackInternal(OnJoinGameAccepted); var clientDataAddress = IntPtr.Zero; Helper.AddCallback(ref clientDataAddress, clientData, notificationFn, notificationFnInternal); var funcResult = EOS_Presence_AddNotifyJoinGameAccepted(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal); Helper.TryMarshalDispose(ref optionsInternal); Helper.TryAssignNotificationIdToCallback(clientDataAddress, funcResult); var funcResultReturn = Helper.GetDefault <ulong>(); Helper.TryMarshalGet(funcResult, out funcResultReturn); return(funcResultReturn); }
private static extern ulong EOS_Presence_AddNotifyJoinGameAccepted(IntPtr handle, ref AddNotifyJoinGameAcceptedOptionsInternal options, IntPtr clientData, OnJoinGameAcceptedCallbackInternal notificationFn);
internal static extern ulong EOS_Presence_AddNotifyJoinGameAccepted(System.IntPtr handle, System.IntPtr options, System.IntPtr clientData, OnJoinGameAcceptedCallbackInternal notificationFn);