private Task OnMessageReceived(SocketMessage socketMessage) { if (socketMessage.Channel.Id != _options.Channel.Id) { return(Task.CompletedTask); } if (_options.ResetTimeout) { _isActiveCompletion.SetResult(true); } if (++_maxMessages == _options.MaxMessages) { Stop("MaxMessages reached"); } if (!_filter(socketMessage)) { return(Task.CompletedTask); } _messages.Add(socketMessage); Collect?.Invoke(socketMessage); if (_messages.Count == _options.Max) { Stop("Max reached"); } return(Task.CompletedTask); }
private void OnTriggerEnter2D(Collider2D collision) { // Check to make sure sub collided SubMovement go = collision.gameObject.GetComponent <SubMovement>(); if (go != null) { // we have found a sub Collect?.Invoke(pointValue); Destroy(gameObject); } }
private Task OnReactionAdded(Cacheable <IUserMessage, ulong> cache, ISocketMessageChannel channel, SocketReaction reaction) { if (cache.Id != _options.Message.Id) { return(Task.CompletedTask); } if (_options.ResetTimeout) { _isActiveCompletion.SetResult(true); } if (!_filter(reaction)) { return(Task.CompletedTask); } _reactions.Add(reaction); _emotes.Add(reaction.Emote); _users.Add(reaction.UserId); Collect?.Invoke(reaction); if (_reactions.Count == _options.Max) { Stop("Max reached"); } else if (_emotes.Count == _options.MaxEmotes) { Stop("MaxEmotes reached"); } else if (_users.Count == _options.MaxUsers) { Stop("MaxUsers reached"); } return(Task.CompletedTask); }