// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Lobby
{
public sealed partial class LobbyInterface : Handle
{
public LobbyInterface()
{
}
public LobbyInterface(System.IntPtr innerHandle) : base(innerHandle)
{
}
///
/// The most recent version of the API.
///
public const int AddnotifyjoinlobbyacceptedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbyinviteacceptedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbyinvitereceivedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbyinviterejectedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbymemberstatusreceivedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbymemberupdatereceivedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifylobbyupdatereceivedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int AddnotifyrtcroomconnectionchangedApiLatest = 2;
///
/// The most recent version of the API.
///
public const int AddnotifysendlobbynativeinviterequestedApiLatest = 1;
///
/// The most recent version of the struct.
///
public const int AttributeApiLatest = 1;
///
/// The most recent version of the struct.
///
public const int AttributedataApiLatest = 1;
///
/// The most recent version of the API.
///
public const int CopylobbydetailshandleApiLatest = 1;
///
/// The most recent version of the API.
///
public const int CopylobbydetailshandlebyinviteidApiLatest = 1;
///
/// The most recent version of the API.
///
public const int CopylobbydetailshandlebyuieventidApiLatest = 1;
///
/// The most recent version of the API.
///
public const int CreatelobbyApiLatest = 8;
///
/// The most recent version of the API.
///
public const int CreatelobbysearchApiLatest = 1;
///
/// The most recent version of the API.
///
public const int DestroylobbyApiLatest = 1;
///
/// The most recent version of the API.
///
public const int GetinvitecountApiLatest = 1;
///
/// The most recent version of the API.
///
public const int GetinviteidbyindexApiLatest = 1;
///
/// The most recent version of the API.
///
public const int GetrtcroomnameApiLatest = 1;
///
/// The most recent version of the API.
///
public const int HardmutememberApiLatest = 1;
///
/// Max length of an invite ID
///
public const int InviteidMaxLength = 64;
///
/// The most recent version of the API.
///
public const int IsrtcroomconnectedApiLatest = 1;
///
/// The most recent version of the API.
///
public const int JoinlobbyApiLatest = 3;
///
/// The most recent version of the API.
///
public const int JoinlobbybyidApiLatest = 1;
///
/// The most recent version of the API.
///
public const int KickmemberApiLatest = 1;
///
/// The most recent version of the API.
///
public const int LeavelobbyApiLatest = 1;
///
/// The most recent version of the structure.
///
public const int LocalrtcoptionsApiLatest = 1;
///
/// All lobbies are referenced by a unique lobby ID
///
public const int MaxLobbies = 16;
public const int MaxLobbyMembers = 64;
///
/// Maximum number of characters allowed in the lobby id override
///
public const int MaxLobbyidoverrideLength = 60;
public const int MaxSearchResults = 200;
///
/// Minimum number of characters allowed in the lobby id override
///
public const int MinLobbyidoverrideLength = 4;
///
/// The most recent version of the API.
///
public const int PromotememberApiLatest = 1;
///
/// The most recent version of the API.
///
public const int QueryinvitesApiLatest = 1;
///
/// The most recent version of the API.
///
public const int RejectinviteApiLatest = 1;
///
/// Search for a matching bucket ID (value is string)
///
public static readonly Utf8String SearchBucketId = "bucket";
///
/// Search for lobbies that contain at least this number of members (value is int)
///
public static readonly Utf8String SearchMincurrentmembers = "mincurrentmembers";
///
/// Search for a match with min free space (value is int)
///
public static readonly Utf8String SearchMinslotsavailable = "minslotsavailable";
///
/// The most recent version of the API.
///
public const int SendinviteApiLatest = 1;
///
/// The most recent version of the API.
///
public const int UpdatelobbyApiLatest = 1;
///
/// The most recent version of the API.
///
public const int UpdatelobbymodificationApiLatest = 1;
///
/// Register to receive notifications about lobby "JOIN" performed by local user (when no invite) via the overlay.
/// must call EOS_Lobby_RemoveNotifyJoinLobbyAccepted to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyJoinLobbyAccepted(ref AddNotifyJoinLobbyAcceptedOptions options, object clientData, OnJoinLobbyAcceptedCallback notificationFn)
{
AddNotifyJoinLobbyAcceptedOptionsInternal optionsInternal = new AddNotifyJoinLobbyAcceptedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnJoinLobbyAcceptedCallbackInternal(OnJoinLobbyAcceptedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyJoinLobbyAccepted(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications about lobby invites accepted by local user via the overlay.
/// must call RemoveNotifyLobbyInviteAccepted to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyInviteAccepted(ref AddNotifyLobbyInviteAcceptedOptions options, object clientData, OnLobbyInviteAcceptedCallback notificationFn)
{
AddNotifyLobbyInviteAcceptedOptionsInternal optionsInternal = new AddNotifyLobbyInviteAcceptedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyInviteAcceptedCallbackInternal(OnLobbyInviteAcceptedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteAccepted(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications about lobby invites sent to local users.
/// must call RemoveNotifyLobbyInviteReceived to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyInviteReceived(ref AddNotifyLobbyInviteReceivedOptions options, object clientData, OnLobbyInviteReceivedCallback notificationFn)
{
AddNotifyLobbyInviteReceivedOptionsInternal optionsInternal = new AddNotifyLobbyInviteReceivedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyInviteReceivedCallbackInternal(OnLobbyInviteReceivedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteReceived(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications about lobby invites rejected by local user via the overlay.
/// must call RemoveNotifyLobbyInviteRejected to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyInviteRejected(ref AddNotifyLobbyInviteRejectedOptions options, object clientData, OnLobbyInviteRejectedCallback notificationFn)
{
AddNotifyLobbyInviteRejectedOptionsInternal optionsInternal = new AddNotifyLobbyInviteRejectedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyInviteRejectedCallbackInternal(OnLobbyInviteRejectedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteRejected(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications about the changing status of lobby members.
/// must call RemoveNotifyLobbyMemberStatusReceived to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyMemberStatusReceived(ref AddNotifyLobbyMemberStatusReceivedOptions options, object clientData, OnLobbyMemberStatusReceivedCallback notificationFn)
{
AddNotifyLobbyMemberStatusReceivedOptionsInternal optionsInternal = new AddNotifyLobbyMemberStatusReceivedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyMemberStatusReceivedCallbackInternal(OnLobbyMemberStatusReceivedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyMemberStatusReceived(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications when a lobby member updates the attributes associated with themselves inside the lobby.
/// must call RemoveNotifyLobbyMemberUpdateReceived to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyMemberUpdateReceived(ref AddNotifyLobbyMemberUpdateReceivedOptions options, object clientData, OnLobbyMemberUpdateReceivedCallback notificationFn)
{
AddNotifyLobbyMemberUpdateReceivedOptionsInternal optionsInternal = new AddNotifyLobbyMemberUpdateReceivedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyMemberUpdateReceivedCallbackInternal(OnLobbyMemberUpdateReceivedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyMemberUpdateReceived(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications when a lobby owner updates the attributes associated with the lobby.
/// must call RemoveNotifyLobbyUpdateReceived to remove the notification
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifyLobbyUpdateReceived(ref AddNotifyLobbyUpdateReceivedOptions options, object clientData, OnLobbyUpdateReceivedCallback notificationFn)
{
AddNotifyLobbyUpdateReceivedOptionsInternal optionsInternal = new AddNotifyLobbyUpdateReceivedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnLobbyUpdateReceivedCallbackInternal(OnLobbyUpdateReceivedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyLobbyUpdateReceived(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications of when the RTC Room for a particular lobby has a connection status change.
///
/// The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep
/// them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting
/// from the RTC room when a lobby is left or disconnected.
///
/// This notification is entirely informational and requires no action in response by the application. If the connected status is offline
/// (bIsConnected is ), the connection will automatically attempt to reconnect. The purpose of this notification is to allow
/// applications to show the current connection status of the RTC room when the connection is not established.
///
/// Unlike , should not be called when the RTC room is disconnected.
///
/// This function will only succeed when called on a lobby the local user is currently a member of.
///
///
/// Structure containing information about the lobby to receive updates about
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// The function to call if the RTC Room's connection status changes
///
/// A valid notification ID if the NotificationFn was successfully registered, or if the input was invalid, the lobby did not exist, or the lobby did not have an RTC room.
///
public ulong AddNotifyRTCRoomConnectionChanged(ref AddNotifyRTCRoomConnectionChangedOptions options, object clientData, OnRTCRoomConnectionChangedCallback notificationFn)
{
AddNotifyRTCRoomConnectionChangedOptionsInternal optionsInternal = new AddNotifyRTCRoomConnectionChangedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnRTCRoomConnectionChangedCallbackInternal(OnRTCRoomConnectionChangedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifyRTCRoomConnectionChanged(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Register to receive notifications about a lobby "INVITE" performed by a local user via the overlay.
/// This is only needed when a configured integrated platform has set. The EOS SDK will
/// then use the state of and to determine when the NotificationFn is
/// called.
/// must call EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested to remove the notification.
///
///
///
///
/// Structure containing information about the request.
/// Arbitrary data that is passed back to you in the CompletionDelegate.
/// A callback that is fired when a notification is received.
///
/// handle representing the registered callback
///
public ulong AddNotifySendLobbyNativeInviteRequested(ref AddNotifySendLobbyNativeInviteRequestedOptions options, object clientData, OnSendLobbyNativeInviteRequestedCallback notificationFn)
{
AddNotifySendLobbyNativeInviteRequestedOptionsInternal optionsInternal = new AddNotifySendLobbyNativeInviteRequestedOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var notificationFnInternal = new OnSendLobbyNativeInviteRequestedCallbackInternal(OnSendLobbyNativeInviteRequestedCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, notificationFn, notificationFnInternal);
var funcResult = Bindings.EOS_Lobby_AddNotifySendLobbyNativeInviteRequested(InnerHandle, ref optionsInternal, clientDataAddress, notificationFnInternal);
Helper.Dispose(ref optionsInternal);
Helper.AssignNotificationIdToCallback(clientDataAddress, funcResult);
return funcResult;
}
///
/// Create a handle to an existing lobby.
/// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it.
///
/// Structure containing information about the lobby to retrieve
/// The new active lobby handle or null if there was an error
///
/// if the lobby handle was created successfully
/// if any of the options are incorrect
/// if the API version passed in is incorrect
/// if the lobby doesn't exist
///
public Result CopyLobbyDetailsHandle(ref CopyLobbyDetailsHandleOptions options, out LobbyDetails outLobbyDetailsHandle)
{
CopyLobbyDetailsHandleOptionsInternal optionsInternal = new CopyLobbyDetailsHandleOptionsInternal();
optionsInternal.Set(ref options);
var outLobbyDetailsHandleAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandle(InnerHandle, ref optionsInternal, ref outLobbyDetailsHandleAddress);
Helper.Dispose(ref optionsInternal);
Helper.Get(outLobbyDetailsHandleAddress, out outLobbyDetailsHandle);
return funcResult;
}
///
/// is used to immediately retrieve a handle to the lobby information from after notification of an invite
/// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it.
///
///
///
/// Structure containing the input parameters
/// out parameter used to receive the lobby handle
///
/// if the information is available and passed out in OutLobbyDetailsHandle
/// if you pass an invalid invite ID or a null pointer for the out parameter
/// if the API version passed in is incorrect
/// If the invite ID cannot be found
///
public Result CopyLobbyDetailsHandleByInviteId(ref CopyLobbyDetailsHandleByInviteIdOptions options, out LobbyDetails outLobbyDetailsHandle)
{
CopyLobbyDetailsHandleByInviteIdOptionsInternal optionsInternal = new CopyLobbyDetailsHandleByInviteIdOptionsInternal();
optionsInternal.Set(ref options);
var outLobbyDetailsHandleAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandleByInviteId(InnerHandle, ref optionsInternal, ref outLobbyDetailsHandleAddress);
Helper.Dispose(ref optionsInternal);
Helper.Get(outLobbyDetailsHandleAddress, out outLobbyDetailsHandle);
return funcResult;
}
///
/// is used to immediately retrieve a handle to the lobby information from after notification of an join game
/// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it.
///
///
///
/// Structure containing the input parameters
/// out parameter used to receive the lobby handle
///
/// if the information is available and passed out in OutLobbyDetailsHandle
/// if you pass an invalid ui event ID
/// if the API version passed in is incorrect
/// If the invite ID cannot be found
///
public Result CopyLobbyDetailsHandleByUiEventId(ref CopyLobbyDetailsHandleByUiEventIdOptions options, out LobbyDetails outLobbyDetailsHandle)
{
CopyLobbyDetailsHandleByUiEventIdOptionsInternal optionsInternal = new CopyLobbyDetailsHandleByUiEventIdOptionsInternal();
optionsInternal.Set(ref options);
var outLobbyDetailsHandleAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandleByUiEventId(InnerHandle, ref optionsInternal, ref outLobbyDetailsHandleAddress);
Helper.Dispose(ref optionsInternal);
Helper.Get(outLobbyDetailsHandleAddress, out outLobbyDetailsHandle);
return funcResult;
}
///
/// Creates a lobby and adds the user to the lobby membership. There is no data associated with the lobby at the start and can be added vis
///
/// If the lobby is successfully created with an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the
/// local user remains in the lobby. Applications can use the to get the name of the RTC Room associated with a lobby, which may be used with
/// suite of functions. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output;
/// to block or unblock room participants; to set local audio device settings; and more.
///
/// Required fields for the creation of a lobby such as a user count and its starting advertised state
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the create operation completes, either successfully or in error
///
/// if the creation completes successfully
/// if any of the options are incorrect
/// if the number of allowed lobbies is exceeded
///
public void CreateLobby(ref CreateLobbyOptions options, object clientData, OnCreateLobbyCallback completionDelegate)
{
CreateLobbyOptionsInternal optionsInternal = new CreateLobbyOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnCreateLobbyCallbackInternal(OnCreateLobbyCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_CreateLobby(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Create a lobby search handle. This handle may be modified to include various search parameters.
/// Searching is possible in three methods, all mutually exclusive
/// - set the lobby ID to find a specific lobby
/// - set the target user ID to find a specific user
/// - set lobby parameters to find an array of lobbies that match the search criteria (not available yet)
///
/// Structure containing required parameters such as the maximum number of search results
/// The new search handle or null if there was an error creating the search handle
///
/// if the search creation completes successfully
/// if any of the options are incorrect
///
public Result CreateLobbySearch(ref CreateLobbySearchOptions options, out LobbySearch outLobbySearchHandle)
{
CreateLobbySearchOptionsInternal optionsInternal = new CreateLobbySearchOptionsInternal();
optionsInternal.Set(ref options);
var outLobbySearchHandleAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_Lobby_CreateLobbySearch(InnerHandle, ref optionsInternal, ref outLobbySearchHandleAddress);
Helper.Dispose(ref optionsInternal);
Helper.Get(outLobbySearchHandleAddress, out outLobbySearchHandle);
return funcResult;
}
///
/// Destroy a lobby given a lobby ID
///
/// Structure containing information about the lobby to be destroyed
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the destroy operation completes, either successfully or in error
///
/// if the destroy completes successfully
/// if any of the options are incorrect
/// if the lobby is already marked for destroy
/// if the lobby to be destroyed does not exist
///
public void DestroyLobby(ref DestroyLobbyOptions options, object clientData, OnDestroyLobbyCallback completionDelegate)
{
DestroyLobbyOptionsInternal optionsInternal = new DestroyLobbyOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnDestroyLobbyCallbackInternal(OnDestroyLobbyCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_DestroyLobby(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Get the number of known invites for a given user
///
/// the Options associated with retrieving the current invite count
///
/// number of known invites for a given user or 0 if there is an error
///
public uint GetInviteCount(ref GetInviteCountOptions options)
{
GetInviteCountOptionsInternal optionsInternal = new GetInviteCountOptionsInternal();
optionsInternal.Set(ref options);
var funcResult = Bindings.EOS_Lobby_GetInviteCount(InnerHandle, ref optionsInternal);
Helper.Dispose(ref optionsInternal);
return funcResult;
}
///
/// Retrieve an invite ID from a list of active invites for a given user
///
///
///
/// Structure containing the input parameters
///
/// if the input is valid and an invite ID was returned
/// if any of the options are incorrect
/// if the invite doesn't exist
///
public Result GetInviteIdByIndex(ref GetInviteIdByIndexOptions options, out Utf8String outBuffer)
{
GetInviteIdByIndexOptionsInternal optionsInternal = new GetInviteIdByIndexOptionsInternal();
optionsInternal.Set(ref options);
int inOutBufferLength = InviteidMaxLength + 1;
System.IntPtr outBufferAddress = Helper.AddAllocation(inOutBufferLength);
var funcResult = Bindings.EOS_Lobby_GetInviteIdByIndex(InnerHandle, ref optionsInternal, outBufferAddress, ref inOutBufferLength);
Helper.Dispose(ref optionsInternal);
Helper.Get(outBufferAddress, out outBuffer);
Helper.Dispose(ref outBufferAddress);
return funcResult;
}
///
/// Get the name of the RTC room associated with a specific lobby a local user belongs to.
///
/// suite of functions. RTC Room Names must not be used with
/// , , or . Doing so will return or
/// if used with those functions.
///
/// This function will only succeed when called on a lobby the local user is currently a member of.
///
/// Structure containing information about the RTC room name to retrieve
/// The buffer to store the null-terminated room name string within
/// In: The maximum amount of writable chars in OutBuffer, Out: The minimum amount of chars needed in OutBuffer to store the RTC room name (including the null-terminator)
///
/// if a room exists for the specified lobby, there was enough space in OutBuffer, and the name was written successfully
/// if the lobby does not exist
/// if the lobby exists, but did not have the RTC Room feature enabled when created
/// if you pass a null pointer on invalid length for any of the parameters
/// The OutBuffer is not large enough to receive the room name. InOutBufferLength contains the required minimum length to perform the operation successfully.
///
public Result GetRTCRoomName(ref GetRTCRoomNameOptions options, out Utf8String outBuffer)
{
GetRTCRoomNameOptionsInternal optionsInternal = new GetRTCRoomNameOptionsInternal();
optionsInternal.Set(ref options);
uint inOutBufferLength = 256;
System.IntPtr outBufferAddress = Helper.AddAllocation(inOutBufferLength);
var funcResult = Bindings.EOS_Lobby_GetRTCRoomName(InnerHandle, ref optionsInternal, outBufferAddress, ref inOutBufferLength);
Helper.Dispose(ref optionsInternal);
Helper.Get(outBufferAddress, out outBuffer);
Helper.Dispose(ref outBufferAddress);
return funcResult;
}
///
/// Hard mute an existing member in the lobby, can't speak but can hear other members of the lobby
///
/// Structure containing information about the lobby and member to be hard muted
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the hard mute operation completes, either successfully or in error
///
/// if the hard mute completes successfully
/// if the API version passed in is incorrect
/// if any of the options are incorrect
/// if a target user is incorrect
/// if lobby or target user cannot be found
/// if lobby has no voice enabled
/// if the calling user is not the owner of the lobby
/// if a lobby of interest does not exist
/// if the user is already marked for hard mute
/// if there are too many requests
///
public void HardMuteMember(ref HardMuteMemberOptions options, object clientData, OnHardMuteMemberCallback completionDelegate)
{
HardMuteMemberOptionsInternal optionsInternal = new HardMuteMemberOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnHardMuteMemberCallbackInternal(OnHardMuteMemberCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_HardMuteMember(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Get the current connection status of the RTC Room for a lobby.
///
/// The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep
/// them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting
/// from the RTC room when a lobby is left or disconnected.
///
/// This function will only succeed when called on a lobby the local user is currently a member of.
///
///
/// Structure containing information about the lobby to query the RTC Room connection status for
/// If the result is , this will be set to if we are connected, or if we are not yet connected.
///
/// if we are connected to the specified lobby, the input options and parameters were valid and we were able to write to bOutIsConnected successfully.
/// if the lobby doesn't exist
/// if the lobby exists, but did not have the RTC Room feature enabled when created
/// if bOutIsConnected is , or any other parameters are or invalid
///
public Result IsRTCRoomConnected(ref IsRTCRoomConnectedOptions options, out bool bOutIsConnected)
{
IsRTCRoomConnectedOptionsInternal optionsInternal = new IsRTCRoomConnectedOptionsInternal();
optionsInternal.Set(ref options);
int bOutIsConnectedInt = 0;
var funcResult = Bindings.EOS_Lobby_IsRTCRoomConnected(InnerHandle, ref optionsInternal, ref bOutIsConnectedInt);
Helper.Dispose(ref optionsInternal);
Helper.Get(bOutIsConnectedInt, out bOutIsConnected);
return funcResult;
}
///
/// Join a lobby, creating a local instance under a given lobby ID. Backend will validate various conditions to make sure it is possible to join the lobby.
///
/// If the lobby is successfully join has an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the
/// local user remains in the lobby. Applications can use the to get the name of the RTC Room associated with a lobby, which may be used with
/// suite of functions. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output;
/// to block or unblock room participants; to set local audio device settings; and more.
///
/// Structure containing information about the lobby to be joined
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the join operation completes, either successfully or in error
///
/// if the destroy completes successfully
/// if any of the options are incorrect
///
public void JoinLobby(ref JoinLobbyOptions options, object clientData, OnJoinLobbyCallback completionDelegate)
{
JoinLobbyOptionsInternal optionsInternal = new JoinLobbyOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnJoinLobbyCallbackInternal(OnJoinLobbyCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_JoinLobby(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// This is a special case of . It should only be used if the lobby has had Join-by-ID enabled.
/// Additionally, Join-by-ID should only be enabled to support native invites on an integrated platform.
///
///
/// Structure containing information about the lobby to be joined
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the join operation completes, either successfully or in error
///
/// if the destroy completes successfully
/// if any of the options are incorrect
///
public void JoinLobbyById(ref JoinLobbyByIdOptions options, object clientData, OnJoinLobbyByIdCallback completionDelegate)
{
JoinLobbyByIdOptionsInternal optionsInternal = new JoinLobbyByIdOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnJoinLobbyByIdCallbackInternal(OnJoinLobbyByIdCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_JoinLobbyById(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Kick an existing member from the lobby
///
/// Structure containing information about the lobby and member to be kicked
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the kick operation completes, either successfully or in error
///
/// if the kick completes successfully
/// if any of the options are incorrect
/// if the calling user is not the owner of the lobby
/// if a lobby of interest does not exist
///
public void KickMember(ref KickMemberOptions options, object clientData, OnKickMemberCallback completionDelegate)
{
KickMemberOptionsInternal optionsInternal = new KickMemberOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnKickMemberCallbackInternal(OnKickMemberCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_KickMember(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Leave a lobby given a lobby ID
///
/// If the lobby you are leaving had an RTC Room enabled, leaving the lobby will also automatically leave the RTC room.
///
/// Structure containing information about the lobby to be left
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the leave operation completes, either successfully or in error
///
/// if the leave completes successfully
/// if any of the options are incorrect
/// if the lobby is already marked for leave
/// if a lobby to be left does not exist
///
public void LeaveLobby(ref LeaveLobbyOptions options, object clientData, OnLeaveLobbyCallback completionDelegate)
{
LeaveLobbyOptionsInternal optionsInternal = new LeaveLobbyOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnLeaveLobbyCallbackInternal(OnLeaveLobbyCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_LeaveLobby(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Promote an existing member of the lobby to owner, allowing them to make lobby data modifications
///
/// Structure containing information about the lobby and member to be promoted
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the promotion operation completes, either successfully or in error
///
/// if the promote completes successfully
/// if any of the options are incorrect
/// if the calling user is not the owner of the lobby
/// if the lobby of interest does not exist
///
public void PromoteMember(ref PromoteMemberOptions options, object clientData, OnPromoteMemberCallback completionDelegate)
{
PromoteMemberOptionsInternal optionsInternal = new PromoteMemberOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnPromoteMemberCallbackInternal(OnPromoteMemberCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_PromoteMember(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Retrieve all existing invites for a single user
///
/// Structure containing information about the invites to query
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the query invites operation completes, either successfully or in error
public void QueryInvites(ref QueryInvitesOptions options, object clientData, OnQueryInvitesCallback completionDelegate)
{
QueryInvitesOptionsInternal optionsInternal = new QueryInvitesOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnQueryInvitesCallbackInternal(OnQueryInvitesCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_QueryInvites(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Reject an invite from another user.
///
/// Structure containing information about the invite to reject
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the reject invite operation completes, either successfully or in error
///
/// if the invite rejection completes successfully
/// if any of the options are incorrect
/// if the invite does not exist
///
public void RejectInvite(ref RejectInviteOptions options, object clientData, OnRejectInviteCallback completionDelegate)
{
RejectInviteOptionsInternal optionsInternal = new RejectInviteOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnRejectInviteCallbackInternal(OnRejectInviteCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_RejectInvite(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Unregister from receiving notifications when a user accepts a lobby invitation via the overlay.
///
/// Handle representing the registered callback
public void RemoveNotifyJoinLobbyAccepted(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyJoinLobbyAccepted(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when a user accepts a lobby invitation via the overlay.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyInviteAccepted(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyInviteAccepted(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when a user receives a lobby invitation.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyInviteReceived(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyInviteReceived(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when a user rejects a lobby invitation via the overlay.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyInviteRejected(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyInviteRejected(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when lobby members status change.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyMemberStatusReceived(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when lobby members change their data.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyMemberUpdateReceived(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when a lobby changes its data.
///
/// Handle representing the registered callback
public void RemoveNotifyLobbyUpdateReceived(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyLobbyUpdateReceived(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when an RTC Room's connection status changes.
///
/// This should be called when the local user is leaving a lobby.
///
///
/// Handle representing the registered callback
public void RemoveNotifyRTCRoomConnectionChanged(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Unregister from receiving notifications when a user requests a send invite via the overlay.
///
/// Handle representing the registered callback
public void RemoveNotifySendLobbyNativeInviteRequested(ulong inId)
{
Bindings.EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested(InnerHandle, inId);
Helper.RemoveCallbackByNotificationId(inId);
}
///
/// Send an invite to another user. User must be a member of the lobby or else the call will fail
///
/// Structure containing information about the lobby and user to invite
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the send invite operation completes, either successfully or in error
///
/// if the send invite completes successfully
/// if any of the options are incorrect
/// if the lobby to send the invite from does not exist
///
public void SendInvite(ref SendInviteOptions options, object clientData, OnSendInviteCallback completionDelegate)
{
SendInviteOptionsInternal optionsInternal = new SendInviteOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnSendInviteCallbackInternal(OnSendInviteCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_SendInvite(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Update a lobby given a lobby modification handle created by
///
/// Structure containing information about the lobby to be updated
/// Arbitrary data that is passed back to you in the CompletionDelegate
/// A callback that is fired when the update operation completes, either successfully or in error
///
/// if the update completes successfully
/// if any of the options are incorrect
/// if the lobby modification contains modifications that are only allowed by the owner
/// if the lobby to update does not exist
///
public void UpdateLobby(ref UpdateLobbyOptions options, object clientData, OnUpdateLobbyCallback completionDelegate)
{
UpdateLobbyOptionsInternal optionsInternal = new UpdateLobbyOptionsInternal();
optionsInternal.Set(ref options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnUpdateLobbyCallbackInternal(OnUpdateLobbyCallbackInternalImplementation);
Helper.AddCallback(out clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_Lobby_UpdateLobby(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal);
Helper.Dispose(ref optionsInternal);
}
///
/// Creates a lobby modification handle (). The lobby modification handle is used to modify an existing lobby and can be applied with .
/// The must be released by calling once it is no longer needed.
///
///
///
///
/// Required fields such as lobby ID
/// Pointer to a Lobby Modification Handle only set if successful
///
/// if we successfully created the Lobby Modification Handle pointed at in OutLobbyModificationHandle, or an error result if the input data was invalid
/// if any of the options are incorrect
///
public Result UpdateLobbyModification(ref UpdateLobbyModificationOptions options, out LobbyModification outLobbyModificationHandle)
{
UpdateLobbyModificationOptionsInternal optionsInternal = new UpdateLobbyModificationOptionsInternal();
optionsInternal.Set(ref options);
var outLobbyModificationHandleAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_Lobby_UpdateLobbyModification(InnerHandle, ref optionsInternal, ref outLobbyModificationHandleAddress);
Helper.Dispose(ref optionsInternal);
Helper.Get(outLobbyModificationHandleAddress, out outLobbyModificationHandle);
return funcResult;
}
[MonoPInvokeCallback(typeof(OnCreateLobbyCallbackInternal))]
internal static void OnCreateLobbyCallbackInternalImplementation(ref CreateLobbyCallbackInfoInternal data)
{
OnCreateLobbyCallback callback;
CreateLobbyCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnDestroyLobbyCallbackInternal))]
internal static void OnDestroyLobbyCallbackInternalImplementation(ref DestroyLobbyCallbackInfoInternal data)
{
OnDestroyLobbyCallback callback;
DestroyLobbyCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnHardMuteMemberCallbackInternal))]
internal static void OnHardMuteMemberCallbackInternalImplementation(ref HardMuteMemberCallbackInfoInternal data)
{
OnHardMuteMemberCallback callback;
HardMuteMemberCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnJoinLobbyAcceptedCallbackInternal))]
internal static void OnJoinLobbyAcceptedCallbackInternalImplementation(ref JoinLobbyAcceptedCallbackInfoInternal data)
{
OnJoinLobbyAcceptedCallback callback;
JoinLobbyAcceptedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnJoinLobbyByIdCallbackInternal))]
internal static void OnJoinLobbyByIdCallbackInternalImplementation(ref JoinLobbyByIdCallbackInfoInternal data)
{
OnJoinLobbyByIdCallback callback;
JoinLobbyByIdCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnJoinLobbyCallbackInternal))]
internal static void OnJoinLobbyCallbackInternalImplementation(ref JoinLobbyCallbackInfoInternal data)
{
OnJoinLobbyCallback callback;
JoinLobbyCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnKickMemberCallbackInternal))]
internal static void OnKickMemberCallbackInternalImplementation(ref KickMemberCallbackInfoInternal data)
{
OnKickMemberCallback callback;
KickMemberCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLeaveLobbyCallbackInternal))]
internal static void OnLeaveLobbyCallbackInternalImplementation(ref LeaveLobbyCallbackInfoInternal data)
{
OnLeaveLobbyCallback callback;
LeaveLobbyCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyInviteAcceptedCallbackInternal))]
internal static void OnLobbyInviteAcceptedCallbackInternalImplementation(ref LobbyInviteAcceptedCallbackInfoInternal data)
{
OnLobbyInviteAcceptedCallback callback;
LobbyInviteAcceptedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyInviteReceivedCallbackInternal))]
internal static void OnLobbyInviteReceivedCallbackInternalImplementation(ref LobbyInviteReceivedCallbackInfoInternal data)
{
OnLobbyInviteReceivedCallback callback;
LobbyInviteReceivedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyInviteRejectedCallbackInternal))]
internal static void OnLobbyInviteRejectedCallbackInternalImplementation(ref LobbyInviteRejectedCallbackInfoInternal data)
{
OnLobbyInviteRejectedCallback callback;
LobbyInviteRejectedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyMemberStatusReceivedCallbackInternal))]
internal static void OnLobbyMemberStatusReceivedCallbackInternalImplementation(ref LobbyMemberStatusReceivedCallbackInfoInternal data)
{
OnLobbyMemberStatusReceivedCallback callback;
LobbyMemberStatusReceivedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyMemberUpdateReceivedCallbackInternal))]
internal static void OnLobbyMemberUpdateReceivedCallbackInternalImplementation(ref LobbyMemberUpdateReceivedCallbackInfoInternal data)
{
OnLobbyMemberUpdateReceivedCallback callback;
LobbyMemberUpdateReceivedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnLobbyUpdateReceivedCallbackInternal))]
internal static void OnLobbyUpdateReceivedCallbackInternalImplementation(ref LobbyUpdateReceivedCallbackInfoInternal data)
{
OnLobbyUpdateReceivedCallback callback;
LobbyUpdateReceivedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnPromoteMemberCallbackInternal))]
internal static void OnPromoteMemberCallbackInternalImplementation(ref PromoteMemberCallbackInfoInternal data)
{
OnPromoteMemberCallback callback;
PromoteMemberCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnQueryInvitesCallbackInternal))]
internal static void OnQueryInvitesCallbackInternalImplementation(ref QueryInvitesCallbackInfoInternal data)
{
OnQueryInvitesCallback callback;
QueryInvitesCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnRTCRoomConnectionChangedCallbackInternal))]
internal static void OnRTCRoomConnectionChangedCallbackInternalImplementation(ref RTCRoomConnectionChangedCallbackInfoInternal data)
{
OnRTCRoomConnectionChangedCallback callback;
RTCRoomConnectionChangedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnRejectInviteCallbackInternal))]
internal static void OnRejectInviteCallbackInternalImplementation(ref RejectInviteCallbackInfoInternal data)
{
OnRejectInviteCallback callback;
RejectInviteCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnSendInviteCallbackInternal))]
internal static void OnSendInviteCallbackInternalImplementation(ref SendInviteCallbackInfoInternal data)
{
OnSendInviteCallback callback;
SendInviteCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnSendLobbyNativeInviteRequestedCallbackInternal))]
internal static void OnSendLobbyNativeInviteRequestedCallbackInternalImplementation(ref SendLobbyNativeInviteRequestedCallbackInfoInternal data)
{
OnSendLobbyNativeInviteRequestedCallback callback;
SendLobbyNativeInviteRequestedCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnUpdateLobbyCallbackInternal))]
internal static void OnUpdateLobbyCallbackInternalImplementation(ref UpdateLobbyCallbackInfoInternal data)
{
OnUpdateLobbyCallback callback;
UpdateLobbyCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo))
{
callback(ref callbackInfo);
}
}
}
}