internal void SendReliableMessage(NativeRealTimeRoom room, MultiplayerParticipant participant, byte[] data, Action <Status.MultiplayerStatus> callback) { C.RealTimeMultiplayerManager_SendReliableMessage(mGameServices.AsHandle(), room.AsPointer(), participant.AsPointer(), data, PInvokeUtilities.ArrayToSizeT(data), InternalSendReliableMessageCallback, Callbacks.ToIntPtr(callback)); }
internal void LeaveRoom(NativeRealTimeRoom room, Action <Status.ResponseStatus> callback) { C.RealTimeMultiplayerManager_LeaveRoom(mGameServices.AsHandle(), room.AsPointer(), InternalLeaveRoomCallback, Callbacks.ToIntPtr(callback)); }
internal void ShowPlayerSelectUI(uint minimumPlayers, uint maxiumPlayers, bool allowAutomatching, Action <PlayerSelectUIResponse> callback) { C.RealTimeMultiplayerManager_ShowPlayerSelectUI(mGameServices.AsHandle(), minimumPlayers, maxiumPlayers, allowAutomatching, InternalPlayerSelectUIcallback, Callbacks.ToIntPtr(callback, PlayerSelectUIResponse.FromPointer)); }
internal void AcceptInvitation(MultiplayerInvitation invitation, RealTimeEventListenerHelper listener, Action <RealTimeRoomResponse> callback) { C.RealTimeMultiplayerManager_AcceptInvitation(mGameServices.AsHandle(), invitation.AsPointer(), listener.AsPointer(), InternalRealTimeRoomCallback, ToCallbackPointer(callback)); }
internal void CreateRoom(RealtimeRoomConfig config, RealTimeEventListenerHelper helper, Action <RealTimeRoomResponse> callback) { C.RealTimeMultiplayerManager_CreateRealTimeRoom(mGameServices.AsHandle(), config.AsPointer(), helper.AsPointer(), InternalRealTimeRoomCallback, ToCallbackPointer(callback)); }
internal MultiplayerInvitation Invitation() { if (ResponseStatus() != Status.UIStatus.VALID) { return(null); } return(new MultiplayerInvitation( C.RealTimeMultiplayerManager_RoomInboxUIResponse_GetInvitation(SelfPtr()))); }
internal void ShowWaitingRoomUI(NativeRealTimeRoom room, uint minimumParticipantsBeforeStarting, Action <WaitingRoomUIResponse> callback) { Misc.CheckNotNull(room); C.RealTimeMultiplayerManager_ShowWaitingRoomUI(mGameServices.AsHandle(), room.AsPointer(), minimumParticipantsBeforeStarting, InternalWaitingRoomUICallback, Callbacks.ToIntPtr(callback, WaitingRoomUIResponse.FromPointer)); }
internal NativeRealTimeRoom Room() { if (ResponseStatus() != Status.UIStatus.VALID) { return(null); } return(new NativeRealTimeRoom( C.RealTimeMultiplayerManager_WaitingRoomUIResponse_GetRoom(SelfPtr()))); }
internal IEnumerable <MultiplayerInvitation> Invitations() { return(PInvokeUtilities.ToEnumerable( C.RealTimeMultiplayerManager_FetchInvitationsResponse_GetInvitations_Length( SelfPtr()), index => new MultiplayerInvitation( C.RealTimeMultiplayerManager_FetchInvitationsResponse_GetInvitations_GetElement( SelfPtr(), index)) )); }
internal NativeRealTimeRoom Room() { if (!RequestSucceeded()) { return(null); } return(new NativeRealTimeRoom( C.RealTimeMultiplayerManager_RealTimeRoomResponse_GetRoom(SelfPtr()))); }
internal void SendUnreliableMessageToSpecificParticipants(NativeRealTimeRoom room, List <MultiplayerParticipant> recipients, byte[] data) { C.RealTimeMultiplayerManager_SendUnreliableMessage( mGameServices.AsHandle(), room.AsPointer(), recipients.Select(r => r.AsPointer()).ToArray(), new UIntPtr((ulong)recipients.LongCount()), data, PInvokeUtilities.ArrayToSizeT(data)); }
protected override void CallDispose(HandleRef selfPointer) { C.RealTimeMultiplayerManager_FetchInvitationsResponse_Dispose(selfPointer); }
internal void DeclineInvitation(MultiplayerInvitation invitation) { C.RealTimeMultiplayerManager_DeclineInvitation(mGameServices.AsHandle(), invitation.AsPointer()); }
internal Status.ResponseStatus ResponseStatus() { return(C.RealTimeMultiplayerManager_FetchInvitationsResponse_GetStatus(SelfPtr())); }
protected override void CallDispose(HandleRef selfPointer) { C.RealTimeMultiplayerManager_WaitingRoomUIResponse_Dispose(selfPointer); }
internal void SendUnreliableMessageToAll(NativeRealTimeRoom room, byte[] data) { C.RealTimeMultiplayerManager_SendUnreliableMessageToOthers(mGameServices.AsHandle(), room.AsPointer(), data, PInvokeUtilities.ArrayToSizeT(data)); }
internal void ShowRoomInboxUI(Action <RoomInboxUIResponse> callback) { C.RealTimeMultiplayerManager_ShowRoomInboxUI(mGameServices.AsHandle(), InternalRoomInboxUICallback, Callbacks.ToIntPtr(callback, RoomInboxUIResponse.FromPointer)); }
internal Status.MultiplayerStatus ResponseStatus() { return(C.RealTimeMultiplayerManager_RealTimeRoomResponse_GetStatus(SelfPtr())); }
internal Status.UIStatus ResponseStatus() { return(C.RealTimeMultiplayerManager_WaitingRoomUIResponse_GetStatus(SelfPtr())); }
internal void FetchInvitations(Action <FetchInvitationsResponse> callback) { C.RealTimeMultiplayerManager_FetchInvitations(mGameServices.AsHandle(), InternalFetchInvitationsCallback, Callbacks.ToIntPtr(callback, FetchInvitationsResponse.FromPointer)); }