/// <summary> /// Constructs a new instance /// from the <see cref="GooglePlayGames.BasicApi.Multiplayer.Invitation"/> object. /// </summary> internal static Invitation FromGPGSInvitation(GPGSInvitation inv) { if (inv == null) { return(null); } return(new Invitation(inv.ToEMMatchType(), Participant.FromGPGSParticipant(inv.Inviter), GPGTypeConverter.ToEMVariant(inv.Variant)) { GPGS_Invitation = inv }); }
/// <summary> /// Construct new instance from <see cref="GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch"/> object. /// </summary> internal static TurnBasedMatch FromGPGSTurnBasedMatch(GPGSTurnBasedMatch turnBasedMatch) { if (turnBasedMatch == null) { return(null); } return(new TurnBasedMatch( turnBasedMatch.MatchId, turnBasedMatch.Participants.Count + (int)turnBasedMatch.AvailableAutomatchSlots, // total players = joined/invited players + automatch players turnBasedMatch.Data, turnBasedMatch.SelfParticipantId, turnBasedMatch.Participants.Select(p => Participant.FromGPGSParticipant(p)).ToArray(), turnBasedMatch.PendingParticipantId, turnBasedMatch.Status.ToEMMatchStatus()) { GPGS_TurnBasedMatch = turnBasedMatch }); }