internal void HandleInvitation(Types.MultiplayerEvent eventType, string invitationId, MultiplayerInvitation invitation) { // Stash a reference to the invitation handler in case it is updated while we're handling // this callback. var currentHandler = mInvitationDelegate; if (currentHandler == null) { GooglePlayGames.OurUtils.Logger.d("Received " + eventType + " for invitation " + invitationId + " but no handler was registered."); return; } if (eventType == Types.MultiplayerEvent.REMOVED) { GooglePlayGames.OurUtils.Logger.d("Ignoring REMOVED for invitation " + invitationId); return; } bool shouldAutolaunch = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH; // Copy the invitation into managed memory. Invitation invite = invitation.AsInvitation(); PlayGamesHelperObject.RunOnGameThread(() => currentHandler(invite, shouldAutolaunch)); }
internal void HandleInvitation(Types.MultiplayerEvent eventType, string invitationId, MultiplayerInvitation invitation) { // Stash a reference to the invitation handler in case it is updated while we're handling // this callback. var currentHandler = mInvitationDelegate; if (currentHandler == null) { Logger.d("Received " + eventType + " for invitation " + invitationId + " but no handler was registered."); return; } if (eventType == Types.MultiplayerEvent.REMOVED) { Logger.d("Ignoring REMOVED for invitation " + invitationId); return; } bool shouldAutolaunch = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH; currentHandler(invitation.AsInvitation(), shouldAutolaunch); }
internal void DeclineInvitation(MultiplayerInvitation invitation) { TurnBasedMultiplayerManager.TurnBasedMultiplayerManager_DeclineInvitation(mGameServices.AsHandle(), invitation.AsPointer()); }
internal void AcceptInvitation(MultiplayerInvitation invitation, Action<TurnBasedMatchResponse> callback) { GooglePlayGames.OurUtils.Logger.d("Accepting invitation: " + invitation.AsPointer().ToInt64()); TurnBasedMultiplayerManager.TurnBasedMultiplayerManager_AcceptInvitation(mGameServices.AsHandle(), invitation.AsPointer(), InternalTurnBasedMatchCallback, ToCallbackPointer(callback)); }