internal Invitation AsInvitation() { Invitation.InvType invType = MultiplayerInvitation.ToInvType(this.Type()); string invId = this.Id(); int variant = (int)this.Variant(); Participant inviter; using (MultiplayerParticipant multiplayerParticipant = this.Inviter()) inviter = multiplayerParticipant != null?multiplayerParticipant.AsParticipant() : (Participant)null; return(new Invitation(invType, invId, inviter, variant)); }
internal override void HandleParticipantStatusChanged(NativeRealTimeRoom room, GooglePlayGames.Native.PInvoke.MultiplayerParticipant participant) { if (FailedStatuses.Contains(participant.Status())) { mSession.OnGameThreadListener().ParticipantLeft(participant.AsParticipant()); if (room.Status() != Types.RealTimeRoomStatus.CONNECTING && room.Status() != Types.RealTimeRoomStatus.AUTO_MATCHING) { LeaveRoom(); } } }
internal Invitation AsInvitation() { Invitation.InvType invType = ToInvType(Type()); string invId = Id(); int variant = (int)Variant(); Participant inviter = default(Participant); using (MultiplayerParticipant multiplayerParticipant = Inviter()) { inviter = multiplayerParticipant?.AsParticipant(); } return(new Invitation(invType, invId, inviter, variant)); }
internal Invitation AsInvitation() { Participant participant; Invitation.InvType invType = ToInvType(this.Type()); string invId = this.Id(); int variant = (int)this.Variant(); using (MultiplayerParticipant participant2 = this.Inviter()) { participant = participant2?.AsParticipant(); } return(new Invitation(invType, invId, participant, variant)); }