/// <summary>
 ///     Initializes a new instance of the <see cref="Field" />
 ///     class.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="leftX">The left x.</param>
 /// <param name="topY">The top y.</param>
 /// <param name="rightX">The right x.</param>
 /// <param name="bottomY">The bottom y.</param>
 /// <param name="pages">The pages.</param>
 /// <param name="customPageNumbers">The custom page numbers.</param>
 /// TODO Edit XML Comment Template for #ctor
 internal Field(
     string name,
     int leftX,
     int topY,
     int rightX,
     int bottomY,
     FieldPages pages,
     IEnumerable <int> customPageNumbers = null)
 {
     Name              = name;
     LeftX             = leftX;
     TopY              = topY;
     RightX            = rightX;
     BottomY           = bottomY;
     Pages             = pages;
     CustomPageNumbers = customPageNumbers;
 }
示例#2
0
        public static CustomPaginatedMessage PaginatedShopMessage(IEnumerable<ShopWaifu> waifus, int pageSize, string prefix, ulong guildId = 0, ShopType type = ShopType.Waifu)
        {
            CustomPaginatedMessage paginatedMessage = new CustomPaginatedMessage();
            var fieldList = new List<FieldPages>();
            var splitWaifus = CustomPaginatedMessage.Split(waifus, pageSize);
            int pages = splitWaifus.Count();

            var fieldInfo = new FieldPages();
            var pagelist = new List<string>();
            fieldInfo.Title = ":books: Commands";
            for (int i = 0; i < pages; i++)
            {
                pagelist.Add($"`{prefix}BuyWaifu [name]` | `{prefix}Waifu [search]` | `{prefix}Ws` | `{prefix}Gs` | `{prefix}Ms`");
            }
            fieldInfo.Inline = true;
            fieldInfo.Pages = pagelist;
            fieldList.Add(fieldInfo);

            var fieldWaifus = new FieldPages();
            var pagelist2 = new List<string>();
            fieldWaifus.Title = "<:MiaHug:536580304018735135> Waifus";
            foreach (var w in splitWaifus)
            {
                pagelist2.Add(WaifuUtil.WaifuShopWaifuList(w));
            }
            fieldWaifus.Pages = pagelist2;
            fieldList.Add(fieldWaifus);

            paginatedMessage.Fields = fieldList;
            paginatedMessage.Footer = $"Resets in {11 - DateTime.Now.Hour % 12} Hours {60 - DateTime.Now.Minute} Minutes | ";
            paginatedMessage.Color = BasicUtil.RandomColor();
            paginatedMessage.PageCount = pages;
            if (guildId != 0)
                paginatedMessage.Pages = new List<string> { $"Open in [browser](https://namiko.moe/WaifuShop/{guildId})" };
            paginatedMessage.Author = new EmbedAuthorBuilder()
            {
                Name = type switch
                {
                    ShopType.Waifu => "Waifu Shop",
                    ShopType.Gacha => "Gacha Shop",
                    ShopType.Mod => "Mod Shop",
                    _ => "Waifu Shop"
                },