using System;
using System.Collections.Generic;
using Net.Eagle0.Eagle.Views;

namespace eagle.Notifications.ARNNotifications {
    using ProvinceId = Int32;

    public static class SuppressBeastsSucceededNotificationGenerator {
        public static readonly ARNNotificationGenerator Generator = GenerateNotifications;

        private static IEnumerable<Notification> GenerateNotifications(
                Net.Eagle0.Eagle.Common.Notification notification,
                IGameModel currentModel) {
            var notif = notification.Details.SuppressedBeastsDetails;
            var hero = currentModel.Heroes[notif.HeroId];
            var beastName = notif.BeastTypeNamePlural;

            yield return Notification.StreamingNotification(
                    title: $"{DisplayNames.Capitalized(beastName)} Suppressed",
                    prefixedText: "",
                    llmId: notification.LlmId,
                    provinceIds: new List<ProvinceId> { notif.ProvinceId },
                    displayedHeroes: new List<HeroView> { hero });
        }
    }
}