コード例 #1
0
ファイル: RaidEx.cs プロジェクト: BenneMe/RaidBattlesBot
        public static Color?GetEggColor(this Raid raid)
        {
            switch (raid.RaidBossLevel)
            {
            case 1:
            case 2:
                return(Color.FromArgb(249, 125, 150));

            case 3:
            case 4:
                return(Color.FromArgb(255, 200, 35));

            case 5:
                return(Color.FromArgb(22, 55, 72));

            default:
                return(null);
            }
        }
コード例 #2
0
        public static StringBuilder GetTitle(this Raid raid, StringBuilder title = null, bool extended = true)
        {
            title ??= new StringBuilder();
            if (title.Length == 0)
            {
                title
                .AppendFormat("[R{0}] ", raid.RaidBossLevel)
                .Append(raid.Name);
            }

            if (raid.EndTime is { } endTime)
            {
                title.Append($" ∙ {endTime:t}");
                if (raid.IsEgg && extended)
                {
                    title.Append($"→{raid.RaidBossEndTime:t}");
                }
            }

            return(title);
        }
コード例 #3
0
ファイル: RaidEx.cs プロジェクト: BenneMe/RaidBattlesBot
 public static DateTimeOffset?GetDefaultPollTime(this Raid raid) =>
 raid.RaidBossEndTime?
 .Subtract(TimeSpan.FromMinutes(15)) // default offset to the end
 .Round(TimeSpan.FromMinutes(5));    // rounding
コード例 #4
0
ファイル: RaidEx.cs プロジェクト: BenneMe/RaidBattlesBot
 public static string GetLink(this Raid raid, IUrlHelper urlHelper)
 {
     return(urlHelper.Page("/Raid", null, new { raidId = raid.Id }, protocol: "https"));
 }
コード例 #5
0
ファイル: RaidEx.cs プロジェクト: BenneMe/RaidBattlesBot
        public static async Task <((decimal?lat, decimal?lon) location, string gym, string distance)> SetTitleAndDescription(this Raid raid, StringBuilder title, StringBuilder description, GymHelper gymHelper, int?precision = null, MidpointRounding?rounding = null, CancellationToken cancellationToken = default)
        {
            var gymInfo = await gymHelper.ProcessGym(raid.SetTitle(title), description, precision, rounding, cancellationToken);

            if (description.Length > 0)
            {
                raid.Description = description.ToString();
            }
            return(gymInfo);
        }
コード例 #6
0
ファイル: RaidEx.cs プロジェクト: BenneMe/RaidBattlesBot
 public static Raid SetTitle(this Raid raid, StringBuilder title, bool extended = true)
 {
     raid.Title = raid.GetTitle(title, extended).ToString();
     return(raid);
 }