Пример #1
0
        public SearchView(IReadOnlyCollection <SearchItem> items, TarkovDatabaseClient client)
            : base(new LocalMessage()
                   .WithContent("Multiple results found! Please pick one item from the list:"))
        {
            var selectionComponent = new SelectionViewComponent(async args =>
            {
                this.Menu.Stop();
                this.ClearComponents();

                var response = args.Interaction.SelectedValues.FirstOrDefault().Split("/");
                var itemId   = response[0];
                var kind     = Enum.Parse <ItemKind>(response[1]);

                var item             = await client.GetItemAsync(itemId, kind);
                this.TemplateMessage = new LocalMessage().WithEmbeds(item.ToEmbed());
                await(this.Menu as InteractiveMenu).ApplyChangesAsync();
            });

            foreach (var item in items)
            {
                selectionComponent.Row = 0;
                selectionComponent.Options.Add(
                    new LocalSelectionComponentOption($"{item.ShortName} ({item.Kind.Humanize()})".Truncate(25),
                                                      $"{item.Id}/{item.Kind}")
                    .WithDescription(item.Description.Truncate(50)));
            }

            this.AddComponent(selectionComponent);
        }
Пример #2
0
 public LocationModule(TarkovDatabaseClient tarkov)
 {
     _tarkov = tarkov;
 }
Пример #3
0
 public HideoutModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch)
 {
     _tarkov       = tarkov;
     _tarkovSearch = tarkovSearch;
 }
Пример #4
0
 public ItemModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch)
 {
     _tarkov       = tarkov;
     _tarkovSearch = tarkovSearch;
 }
Пример #5
0
 public UtilityModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch, TarkovToolsClient tarkovTools)
 {
     _tarkov       = tarkov;
     _tarkovSearch = tarkovSearch;
     _tarkovTools  = tarkovTools;
 }