Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 internal void DeclineInvitation(MultiplayerInvitation invitation)
 {
     TurnBasedMultiplayerManager.TurnBasedMultiplayerManager_DeclineInvitation(mGameServices.AsHandle(),
         invitation.AsPointer());
 }
Ejemplo n.º 4
0
 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));
 }