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); } } }
private static void InternalOnTurnBasedMatchEventCallback(Types.MultiplayerEvent eventType, string matchId, IntPtr match, IntPtr userData) { var callback = Callbacks.IntPtrToPermanentCallback <Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch> >(userData); using (var nativeMatch = NativeTurnBasedMatch.FromPointer(match)) { try { if (callback != null) { callback(eventType, matchId, nativeMatch); } } catch (Exception e) { Logger.e("Error encountered executing InternalOnTurnBasedMatchEventCallback. " + "Smothering to avoid passing exception into Native: " + e); } } }
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); } } }
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(); } } }