internal void HandleMatchEvent(Types.MultiplayerEvent eventType, string matchId, NativeTurnBasedMatch match)
 {
     // ISSUE: object of a compiler-generated type is created
     // ISSUE: variable of a compiler-generated type
     NativeTurnBasedMultiplayerClient.\u003CHandleMatchEvent\u003Ec__AnonStorey154 eventCAnonStorey154 = new NativeTurnBasedMultiplayerClient.\u003CHandleMatchEvent\u003Ec__AnonStorey154();
     // ISSUE: reference to a compiler-generated field
     eventCAnonStorey154.match = match;
     // ISSUE: reference to a compiler-generated field
     eventCAnonStorey154.\u003C\u003Ef__this = this;
     // ISSUE: reference to a compiler-generated field
     eventCAnonStorey154.currentDelegate = this.mMatchDelegate;
     // ISSUE: reference to a compiler-generated field
     if (eventCAnonStorey154.currentDelegate == null)
     {
         return;
     }
     if (eventType == Types.MultiplayerEvent.REMOVED)
     {
         Logger.d("Ignoring REMOVE event for match " + matchId);
     }
     else
     {
         // ISSUE: reference to a compiler-generated field
         eventCAnonStorey154.shouldAutolaunch = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH;
         // ISSUE: reference to a compiler-generated field
         eventCAnonStorey154.match.ReferToMe();
         // ISSUE: reference to a compiler-generated method
         Callbacks.AsCoroutine(this.WaitForLogin(new Action(eventCAnonStorey154.\u003C\u003Em__7E)));
     }
 }
示例#2
0
        private static void InternalOnTurnBasedMatchEventCallback(Types.MultiplayerEvent eventType, string matchId, IntPtr match, IntPtr userData)
        {
            Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> action = Callbacks.IntPtrToPermanentCallback <Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> >(userData);

            using (NativeTurnBasedMatch arg = NativeTurnBasedMatch.FromPointer(match))
            {
                try
                {
                    action?.Invoke(eventType, matchId, arg);
                }
                catch (Exception arg2)
                {
                    Logger.e("Error encountered executing InternalOnTurnBasedMatchEventCallback. Smothering to avoid passing exception into Native: " + arg2);
                }
            }
        }
示例#3
0
        internal void HandleInvitation(Types.MultiplayerEvent eventType, string invitationId, GooglePlayGames.Native.PInvoke.MultiplayerInvitation invitation)
        {
            Action <Invitation, bool> invitationDelegate = this.mInvitationDelegate;

            if (invitationDelegate == null)
            {
                Logger.d("Received " + (object)eventType + " for invitation " + invitationId + " but no handler was registered.");
            }
            else if (eventType == Types.MultiplayerEvent.REMOVED)
            {
                Logger.d("Ignoring REMOVED for invitation " + invitationId);
            }
            else
            {
                bool flag = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH;
                invitationDelegate(invitation.AsInvitation(), flag);
            }
        }
示例#4
0
        private static void InternalOnTurnBasedMatchEventCallback(Types.MultiplayerEvent eventType, string matchId, IntPtr match, IntPtr userData)
        {
            Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> permanentCallback = Callbacks.IntPtrToPermanentCallback <Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> >(userData);

            using (NativeTurnBasedMatch nativeTurnBasedMatch = NativeTurnBasedMatch.FromPointer(match))
            {
                try
                {
                    if (permanentCallback == null)
                    {
                        return;
                    }
                    permanentCallback(eventType, matchId, nativeTurnBasedMatch);
                }
                catch (Exception ex)
                {
                    Logger.e("Error encountered executing InternalOnTurnBasedMatchEventCallback. Smothering to avoid passing exception into Native: " + (object)ex);
                }
            }
        }
        internal void HandleMatchEvent(Types.MultiplayerEvent eventType, string matchId, NativeTurnBasedMatch match)
        {
            Action <GooglePlayGames.BasicApi.Multiplayer.TurnBasedMatch, bool> currentDelegate = mMatchDelegate;

            if (currentDelegate != null)
            {
                if (eventType == Types.MultiplayerEvent.REMOVED)
                {
                    Logger.d("Ignoring REMOVE event for match " + matchId);
                }
                else
                {
                    bool shouldAutolaunch = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH;
                    match.ReferToMe();
                    Callbacks.AsCoroutine(WaitForLogin(delegate
                    {
                        currentDelegate(match.AsTurnBasedMatch(mNativeClient.GetUserId()), shouldAutolaunch);
                        match.ForgetMe();
                    }));
                }
            }
        }
示例#6
0
        internal void HandleInvitation(Types.MultiplayerEvent eventType, string invitationId, GooglePlayGames.Native.PInvoke.MultiplayerInvitation invitation)
        {
            Action <Invitation, bool> currentHandler = mInvitationDelegate;

            if (currentHandler == null)
            {
                Logger.d("Received " + eventType + " for invitation " + invitationId + " but no handler was registered.");
            }
            else if (eventType == Types.MultiplayerEvent.REMOVED)
            {
                Logger.d("Ignoring REMOVED for invitation " + invitationId);
            }
            else
            {
                bool       shouldAutolaunch = eventType == Types.MultiplayerEvent.UPDATED_FROM_APP_LAUNCH;
                Invitation invite           = invitation.AsInvitation();
                PlayGamesHelperObject.RunOnGameThread(delegate
                {
                    currentHandler(invite, shouldAutolaunch);
                });
            }
        }
示例#7
0
        private static void InternalOnMultiplayerInvitationEventCallback(Types.MultiplayerEvent eventType, string matchId, IntPtr match, IntPtr userData)
        {
            Action <Types.MultiplayerEvent, string, GooglePlayGames.Native.PInvoke.MultiplayerInvitation> action = Callbacks.IntPtrToPermanentCallback <Action <Types.MultiplayerEvent, string, GooglePlayGames.Native.PInvoke.MultiplayerInvitation> >(userData);

            GooglePlayGames.Native.PInvoke.MultiplayerInvitation invitation = GooglePlayGames.Native.PInvoke.MultiplayerInvitation.FromPointer(match);
            try
            {
                if (action != null)
                {
                    action(eventType, matchId, invitation);
                }
            }
            catch (Exception exception)
            {
                Logger.e("Error encountered executing InternalOnMultiplayerInvitationEventCallback. Smothering to avoid passing exception into Native: " + exception);
            }
            finally
            {
                if (invitation != null)
                {
                    invitation.Dispose();
                }
            }
        }
示例#8
0
        private static void InternalOnTurnBasedMatchEventCallback(Types.MultiplayerEvent eventType, string matchId, IntPtr match, IntPtr userData)
        {
            Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> action = Callbacks.IntPtrToPermanentCallback <Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> >(userData);
            NativeTurnBasedMatch match2 = NativeTurnBasedMatch.FromPointer(match);

            try
            {
                if (action != null)
                {
                    action(eventType, matchId, match2);
                }
            }
            catch (Exception exception)
            {
                Logger.e("Error encountered executing InternalOnTurnBasedMatchEventCallback. Smothering to avoid passing exception into Native: " + exception);
            }
            finally
            {
                if (match2 != null)
                {
                    match2.Dispose();
                }
            }
        }