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))); } }
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); } } }
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); } }
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(); })); } } }
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); }); } }
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(); } } }
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(); } } }