private void CommandManager__controlledNpcChanged(NPCCommand obj) { if (obj) { obj.MoveTo(transform.position); } }
public NPCMenuItem(GameObject.MapEntities.Actors.Player Player, NPCCommand command) { this.Title = command.Label; this.Height = 20; this.Width = 300; player = Player; if (command is OpenShop shop) { this.OnClick += new ClickEventHandler((sender, m) => OpenShop(shop.Shop)); } }
private async Task OnMessageReceivedAsync(SocketMessage s) { var msg = s as SocketUserMessage; // Ensure the message is from a user/bot if (msg == null) { return; } if (msg.Author.Id == _client.CurrentUser.Id) { return; // Ignore self when checking commands } if (!msg.ToString().StartsWith("~")) { return; } var context = new SocketCommandContext(_client, msg); // Create the command context bool messageChannel = true; string response = ""; var commands = msg.ToString().Substring(1).Split(' '); switch (commands[0].ToLower()) { case "help": response += Help(); messageChannel = false; break; case "weather": case "w": WeatherCommand wc = new WeatherCommand(_rng, _logger); response = wc.Generate(commands); break; case "wildsurge": case "ws": WildSurgeCommand wcs = new WildSurgeCommand(_rng, _logger); response = wcs.Generate(commands); break; case "npc": NPCCommand npcc = new NPCCommand(_rng, _logger); response = npcc.Generate(commands); break; case "injury": InjuryCommand injury = new InjuryCommand(_rng, _logger); response = injury.Generate(commands); break; case "madness": MadnessCommand madness = new MadnessCommand(_rng, _logger); response = madness.Generate(commands); break; case "bard": BardCommand bard = new BardCommand(_rng, _logger); response = bard.Generate(commands); break; default: response += "Command not recognized"; break; } if (messageChannel) { await context.Channel.SendMessageAsync(_diceParser.Parse(response)); } else { await context.User.SendMessageAsync(response); } await context.Channel.SendMessageAsync("I have sent help to your PMs."); }