Exemple #1
0
 public SPGroup(FormationClass formationClass)
     : base(
         new GroupInfo(formationClass.ToString(),
                       GameTexts.FindText("str_troop_group_name", ((int)formationClass).ToString()),
                       formationClass))
 {
     FormationClass     = formationClass;
     OccupationsInGroup = new Dictionary <Occupation, CharactersInOccupation>();
 }
Exemple #2
0
        private static SPScoreboardUnitVM CreateScoreEntry(SPScoreboardPartyVM party, FormationClass formationClass)
        {
            BasicCharacterObject character = new BasicCharacterObject
            {
                Name = new TextObject(formationClass.ToString())
            };

            int kills = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                        .Sum(vm => vm.Score.Kill);
            int deaths = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                         .Sum(vm => vm.Score.Dead);
            int wounded = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                          .Sum(vm => vm.Score.Wounded);
            int routed = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                         .Sum(vm => vm.Score.Routed);
            int readyToUpgrade = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                                 .Sum(vm => vm.Score.ReadyToUpgrade);
            int remaining = party.Members.Where(vm => vm.Character.CurrentFormationClass == formationClass)
                            .Sum(vm => vm.Score.Remaining);

            if (remaining + routed + wounded + deaths == 0)
            {
                return(null);
            }

            SPScoreboardUnitVM score = new SPScoreboardUnitVM(character)
            {
                Score = new SPScoreboardStatsVM(character.Name)
                {
                    Kill           = kills,
                    Dead           = deaths,
                    Wounded        = wounded,
                    Routed         = routed,
                    ReadyToUpgrade = readyToUpgrade,
                    Remaining      = remaining + routed + wounded + deaths,
                }
            };

            return(score);
        }