Example #1
0
        private async void NetworkHandler_DiscordMessageReceived(object sender, DiscordMessageReceivedEventArgs e)
        {
            if (!string.IsNullOrEmpty(e.Message.UniqueID))
            {
                TrackedMessages.Add(e.Message);
            }

            if (e.Message.Author.IsBot)
            {
                return;
            }

            if (!string.IsNullOrEmpty(e.Message.Content))
            {
                InteractiveUser iUser = guildManagementHandler.Users.Find(x => x.ChannelID == e.Channel.ID && x.UserID == e.Message.Author.ID);

                //Check if the message is a response to the interactive message
                if (iUser != null)
                {
                    await guildManagementHandler.HandleInteraction(e.Message, iUser, this);
                }
                else
                {
                    string prefix = await Program.Entry.DataBases.GuildDB.GetCustomPrefix((e.Channel as SocketGuildChannel).Guild.ID, PREFIX);

                    //Trigger command response
                    if (e.Message.Content.Substring(0, prefix.Length) == prefix)
                    {
                        string cmd = e.Message.Content.Split(' ')[0].Remove(0, prefix.Length);

                        string input = "";

                        if (e.Message.Content.Length > cmd.Length + 1)
                        {
                            input = e.Message.Content.Substring(cmd.Length + 2, e.Message.Content.Length - cmd.Length - 2);
                        }

                        try
                        {
                            bool success = await cService.ExecuteAsync(e.Message.Content.Split(' ')[0].Remove(0, prefix.Length), input, e.Message);
                        }
                        catch (Exception ee)
                        {
                            Console.WriteLine(ee);
                        }
                    }
                }
            }

            Messages.Remove(e.Message);
        }
Example #2
0
 public void Hover(InteractiveUser user, bool state)
 {
     if (state != m_Hover)
     {
         if (state) // hover in
         {
             Callable.Call(OnHoverIn, user.gameObject);
         }
         else // hover out
         {
             Callable.Call(OnHoverOut, user.gameObject);
         }
         m_Hover = state;
     }
 }
Example #3
0
 public override bool CanInteract(InteractiveUser user)
 {
     return(Vector3.SqrMagnitude(user.transform.position - transform.position) < (MaxDistance * MaxDistance));
 }