protected void OnEventFired(IChatChannelSender sender, [NotNull] ChatTextMessageEnteredEventArgs args) { if (args == null) { throw new ArgumentNullException(nameof(args)); } //Post it so we can get exception information. UnityAsyncHelper.UnityMainThreadContext.PostAsync(async() => { try { await sender.SendAsync(args.Content); } catch (Exception e) { if (Logger.IsErrorEnabled) { Logger.Error($"Failed to send message. Reason: {e.Message}"); } throw; } }); }
public ChatChannelJoinedEventArgs(ChatChannelType channelType, [NotNull] IVivoxTextChannelMessageSubscribable channel, [NotNull] IChatChannelSender messageSender) { if (!Enum.IsDefined(typeof(ChatChannelType), channelType)) { throw new InvalidEnumArgumentException(nameof(channelType), (int)channelType, typeof(ChatChannelType)); } ChannelType = channelType; Channel = channel ?? throw new ArgumentNullException(nameof(channel)); MessageSender = messageSender ?? throw new ArgumentNullException(nameof(messageSender)); }