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); }
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; } }
public override bool CanInteract(InteractiveUser user) { return(Vector3.SqrMagnitude(user.transform.position - transform.position) < (MaxDistance * MaxDistance)); }