Exemplo n.º 1
0
        public ScreenRating GetFormationAreaScreenRating()
        {
            ScreenRating formationScreen = new ScreenRating();

            foreach (var u in this.Units)
            {
                formationScreen = ScreenRating.Combine(formationScreen, u.GetAreaScreenRating());
            }

            return(formationScreen);
        }
Exemplo n.º 2
0
        public ScreenRating GetAreaScreenRating()
        {
            ScreenRating areaRating = new ScreenRating(0, false);

            foreach (ScreenSystem def in this.Defenses
                     .Where(d =>
                            d is ScreenSystem && d.StatusString == "Operational" && d.SpecialProperties.HasFlag(DefenseSpecialProperties.Area_Defense))
                     .Select(d => (ScreenSystem)d))
            {
                areaRating = ScreenRating.Combine(def.ScreenRating, areaRating);
            }

            return(areaRating);
        }
Exemplo n.º 3
0
        public ScreenRating GetLocalScreenRating()
        {
            ScreenRating rating = new ScreenRating(0, false);

            foreach (ScreenSystem def in this.Defenses
                     .Where(d =>
                            d is ScreenSystem && d.StatusString == "Operational" && !d.SpecialProperties.HasFlag(DefenseSpecialProperties.Area_Defense))
                     .Select(d => (ScreenSystem)d))
            {
                rating = ScreenRating.Combine(def.ScreenRating, rating);
            }

            // Combine type and count flags to get total rating
            return(rating);
        }