using System; using System.Threading.Tasks; namespace Discord.Rpc { public partial class DiscordRpcClient { //General public event Func Connected { add { _connectedEvent.Add(value); } remove { _connectedEvent.Remove(value); } } private readonly AsyncEvent> _connectedEvent = new AsyncEvent>(); public event Func Disconnected { add { _disconnectedEvent.Add(value); } remove { _disconnectedEvent.Remove(value); } } private readonly AsyncEvent> _disconnectedEvent = new AsyncEvent>(); public event Func Ready { add { _readyEvent.Add(value); } remove { _readyEvent.Remove(value); } } private readonly AsyncEvent> _readyEvent = new AsyncEvent>(); //Channel public event Func ChannelCreated { add { _channelCreatedEvent.Add(value); } remove { _channelCreatedEvent.Remove(value); } } private readonly AsyncEvent> _channelCreatedEvent = new AsyncEvent>(); //Guild public event Func GuildCreated { add { _guildCreatedEvent.Add(value); } remove { _guildCreatedEvent.Remove(value); } } private readonly AsyncEvent> _guildCreatedEvent = new AsyncEvent>(); public event Func GuildStatusUpdated { add { _guildStatusUpdatedEvent.Add(value); } remove { _guildStatusUpdatedEvent.Remove(value); } } private readonly AsyncEvent> _guildStatusUpdatedEvent = new AsyncEvent>(); //Voice public event Func VoiceStateCreated { add { _voiceStateCreatedEvent.Add(value); } remove { _voiceStateCreatedEvent.Remove(value); } } private readonly AsyncEvent> _voiceStateCreatedEvent = new AsyncEvent>(); public event Func VoiceStateUpdated { add { _voiceStateUpdatedEvent.Add(value); } remove { _voiceStateUpdatedEvent.Remove(value); } } private readonly AsyncEvent> _voiceStateUpdatedEvent = new AsyncEvent>(); public event Func VoiceStateDeleted { add { _voiceStateDeletedEvent.Add(value); } remove { _voiceStateDeletedEvent.Remove(value); } } private readonly AsyncEvent> _voiceStateDeletedEvent = new AsyncEvent>(); public event Func SpeakingStarted { add { _speakingStartedEvent.Add(value); } remove { _speakingStartedEvent.Remove(value); } } private readonly AsyncEvent> _speakingStartedEvent = new AsyncEvent>(); public event Func SpeakingStopped { add { _speakingStoppedEvent.Add(value); } remove { _speakingStoppedEvent.Remove(value); } } private readonly AsyncEvent> _speakingStoppedEvent = new AsyncEvent>(); public event Func VoiceSettingsUpdated { add { _voiceSettingsUpdated.Add(value); } remove { _voiceSettingsUpdated.Remove(value); } } private readonly AsyncEvent> _voiceSettingsUpdated = new AsyncEvent>(); //Messages public event Func MessageReceived { add { _messageReceivedEvent.Add(value); } remove { _messageReceivedEvent.Remove(value); } } private readonly AsyncEvent> _messageReceivedEvent = new AsyncEvent>(); public event Func MessageUpdated { add { _messageUpdatedEvent.Add(value); } remove { _messageUpdatedEvent.Remove(value); } } private readonly AsyncEvent> _messageUpdatedEvent = new AsyncEvent>(); public event Func MessageDeleted { add { _messageDeletedEvent.Add(value); } remove { _messageDeletedEvent.Remove(value); } } private readonly AsyncEvent> _messageDeletedEvent = new AsyncEvent>(); } }