Exemplo n.º 1
0
        public void ConstructScoresForPilot(AcesHighPilotScore score, string pilotName)
        {
            var fighterScoreDo = new FighterScoresDO(score);

            GetPilotStats(pilotName).FighterScoresList.Add(fighterScoreDo);

            var fighterStatsDo = new FighterStatsDO(score);

            GetPilotStats(pilotName).FighterStatsList.Add(fighterStatsDo);

            var attackScoresDo = new AttackScoresDO(score);

            GetPilotStats(pilotName).AttackScoresList.Add(attackScoresDo);

            var attackStatsDo = new AttackStatsDO(score);

            GetPilotStats(pilotName).AttackStatsList.Add(attackStatsDo);

            var bomberScoresDo = new BomberScoresDO(score);

            GetPilotStats(pilotName).BomberScoresList.Add(bomberScoresDo);

            var bomberStatsDo = new BomberStatsDO(score);

            GetPilotStats(pilotName).BomberStatsList.Add(bomberStatsDo);

            var vehicleBoatScoresDo = new VehicleBoatScoresDO(score);

            GetPilotStats(pilotName).VehicleBoatScoresList.Add(vehicleBoatScoresDo);

            var vehicleBoatStatsDo = new VehicleBoatStatsDO(score);

            GetPilotStats(pilotName).VehicleBoatStatsList.Add(vehicleBoatStatsDo);
        }
Exemplo n.º 2
0
        public void RunTests()
        {
            HTCPilotStatsSvc   statsSvc = new HTCPilotStatsSvc();
            AcesHighPilotStats stats    = statsSvc.GetPilotStatsMultiThreaded("99MecInf", TourType.MainArenaTour, 76, new ProxySettingsDTO());

            HTCPilotScoreSvc   scoreSvc = new HTCPilotScoreSvc();
            AcesHighPilotScore score    = scoreSvc.GetPilotScore("99MecInf", TourType.MainArenaTour, 76, new ProxySettingsDTO());

            int i = 0;

            /*
             * TourNode tour = TourDefinitions.Instance.GetTourDetails(76, TourType.MainArenaTour);
             *
             * Sender httpSender = new Sender(new ProxySettingsDTO());
             * StreamReader prototype = File.OpenText("individual_scores.http.txt");
             * httpSender.RequestString = "gameid=" + "99MecInf" + "&tour=" + tour.FullyQualifiedTourIdentifier;
             * httpSender.URLEncodeRequestString();
             * httpSender.Initialise(prototype, "http://www.hitechcreations.com/cgi-bin/105score/105score.pl");
             * StreamReader response = httpSender.Send();
             *
             *
             * string PilotVsBuffer = response.ReadToEnd();
             * StringReader pilotVsStringReader = new StringReader(PilotVsBuffer);
             *
             * // Use the cool sgml reader to 'interpret' the HTML as XML :) very nice!
             * SgmlReader pilotVsSgmlReader = new SgmlReader();
             * pilotVsSgmlReader.DocType = "HTML";
             * pilotVsSgmlReader.InputStream = pilotVsStringReader;
             * statsXmlDoc.Load(pilotVsSgmlReader);
             *
             * statsXmlDoc.Save(Console.Out);
             * statsXmlDoc.Save(@"C:\response.xml");
             */
        }
Exemplo n.º 3
0
        public static void ConstructAcesHighPilotScoreInnerObjects(ref AcesHighPilotScore ps)
        {
            ////////////////////////////////////////////////////////////////////////////////////
            // Vs Enemies
            ////////////////////////////////////////////////////////////////////////////////////
            ps.VsEnemy = new AcesHighPilotScoreVsEnemy
            {
                Attack = new AcesHighPilotScoreVsEnemyAttack
                {
                    HitPercentage    = new AcesHighPilotScoreVsEnemyAttackHitPercentage(),
                    KillPerHour      = new AcesHighPilotScoreVsEnemyAttackKillPerHour(),
                    KillPerSortie    = new AcesHighPilotScoreVsEnemyAttackKillPerSortie(),
                    KillToDeathPlus1 = new AcesHighPilotScoreVsEnemyAttackKillToDeathPlus1(),
                    Points           = new AcesHighPilotScoreVsEnemyAttackPoints()
                },
                Fighter = new AcesHighPilotScoreVsEnemyFighter
                {
                    HitPercentage    = new AcesHighPilotScoreVsEnemyFighterHitPercentage(),
                    KillPerHour      = new AcesHighPilotScoreVsEnemyFighterKillPerHour(),
                    KillPerSortie    = new AcesHighPilotScoreVsEnemyFighterKillPerSortie(),
                    KillToDeathPlus1 = new AcesHighPilotScoreVsEnemyFighterKillToDeathPlus1(),
                    Points           = new AcesHighPilotScoreVsEnemyFighterPoints()
                },
                VehicleBoat = new AcesHighPilotScoreVsEnemyVehicleBoat
                {
                    HitPercentage    = new AcesHighPilotScoreVsEnemyVehicleBoatHitPercentage(),
                    KillPerHour      = new AcesHighPilotScoreVsEnemyVehicleBoatKillPerHour(),
                    KillPerSortie    = new AcesHighPilotScoreVsEnemyVehicleBoatKillPerSortie(),
                    KillToDeathPlus1 = new AcesHighPilotScoreVsEnemyVehicleBoatKillToDeathPlus1(),
                    Points           = new AcesHighPilotScoreVsEnemyVehicleBoatPoints()
                }
            };

            ////////////////////////////////////////////////////////////////////////////////////
            // Vs Objects
            ////////////////////////////////////////////////////////////////////////////////////
            ps.VsObjects = new AcesHighPilotScoreVsObjects
            {
                Attack = new AcesHighPilotScoreVsObjectsAttack
                {
                    DamagePerDeathPlus1 = new AcesHighPilotScoreVsObjectsAttackDamagePerDeathPlus1(),
                    DamagePerSortie     = new AcesHighPilotScoreVsObjectsAttackDamagePerSortie(),
                    FieldCaptures       = new AcesHighPilotScoreVsObjectsAttackFieldCaptures(),
                    HitPercentage       = new AcesHighPilotScoreVsObjectsAttackHitPercentage(),
                    Points = new AcesHighPilotScoreVsObjectsAttackPoints()
                },
                Bomber = new AcesHighPilotScoreVsObjectsBomber
                {
                    DamagePerDeathPlus1 = new AcesHighPilotScoreVsObjectsBomberDamagePerDeathPlus1(),
                    DamagePerSortie     = new AcesHighPilotScoreVsObjectsBomberDamagePerSortie(),
                    FieldCaptures       = new AcesHighPilotScoreVsObjectsBomberFieldCaptures(),
                    HitPercentage       = new AcesHighPilotScoreVsObjectsBomberHitPercentage(),
                    Points = new AcesHighPilotScoreVsObjectsBomberPoints()
                },
                VehicleBoat = new AcesHighPilotScoreVsObjectsVehicleBoat
                {
                    DamagePerDeathPlus1 = new AcesHighPilotScoreVsObjectsVehicleBoatDamagePerDeathPlus1(),
                    DamagePerSortie     = new AcesHighPilotScoreVsObjectsVehicleBoatDamagePerSortie(),
                    FieldCaptures       = new AcesHighPilotScoreVsObjectsVehicleBoatFieldCaptures(),
                    HitPercentage       = new AcesHighPilotScoreVsObjectsVehicleBoatHitPercentage(),
                    Points = new AcesHighPilotScoreVsObjectsVehicleBoatPoints()
                }
            };


            ////////////////////////////////////////////////////////////////////////////////////
            // Overall / Raw Stats
            ////////////////////////////////////////////////////////////////////////////////////
            ps.Overall = new AcesHighPilotScoreOverall
            {
                Attack      = new AcesHighPilotScoreOverallAttack(),
                Bomber      = new AcesHighPilotScoreOverallBomber(),
                Fighter     = new AcesHighPilotScoreOverallFighter(),
                VehicleBoat = new AcesHighPilotScoreOverallVehicleBoat(),
                Total       = new AcesHighPilotScoreOverallTotal()
            };
        }
Exemplo n.º 4
0
 public FighterScoresDO(AcesHighPilotScore score)
 {
     _score = score;
 }
Exemplo n.º 5
0
 public VehicleBoatScoresDO(AcesHighPilotScore score)
 {
     _score = score;
 }
Exemplo n.º 6
0
 public AttackScoresDO(AcesHighPilotScore score)
 {
     _score = score;
 }
Exemplo n.º 7
0
 public BomberStatsDO(AcesHighPilotScore score)
 {
     _score = score;
 }
Exemplo n.º 8
0
        /// <summary>
        /// </summary>
        /// <param name="squad"></param>
        /// <param name="tourNumber"></param>
        /// <returns></returns>
        public AcesHighPilotScore BuildSquadScoreObject(Squad squad, int tourNumber)
        {
            var squadScore = new AcesHighPilotScore();

            Utility.ConstructAcesHighPilotScoreInnerObjects(ref squadScore);

            // count the pilots for this tour.
            var numPilots = squad.CountMembersForTour(tourNumber);


            foreach (var squadMember in squad.Members.Where(member => Registry.PilotStatsContains(member.PilotName)))
            {
                // If Pilot wasnt in this sqaud for this tour, dont count their data
                if (!squad.WasPilotInSquadForThisTour(tourNumber, squadMember))
                {
                    continue;
                }

                var pilotReg = Registry.GetPilotStats(squadMember.PilotName);

                foreach (var attackScore in pilotReg.AttackScoresList
                         .Where(attackScore => attackScore.TourNumber == tourNumber))
                {
                    squadScore.GameId      = squad.SquadName;
                    squadScore.TourDetails = attackScore.TourIdentfier;
                    squadScore.TourType    = attackScore.TourType;
                    squadScore.TourId      = attackScore.TourNumber.ToString();

                    squadScore.VsEnemy.Attack.HitPercentage.Score         += attackScore.VsEnemyHitPercentageScore / numPilots;
                    squadScore.VsEnemy.Attack.KillPerHour.Score           += attackScore.VsEnemyKillsPerHourScore / numPilots;
                    squadScore.VsEnemy.Attack.KillPerSortie.Score         += attackScore.VsEnemyKillsToSortieScore / numPilots;
                    squadScore.VsEnemy.Attack.KillToDeathPlus1.Score      += attackScore.VsEnemyKillsToDeathScore / numPilots;
                    squadScore.VsObjects.Attack.DamagePerDeathPlus1.Score += attackScore.VsObjectsDamagePerDeathScore /
                                                                             numPilots;
                    squadScore.VsObjects.Attack.DamagePerSortie.Score += attackScore.VsObjectsDamagePerSortieScore /
                                                                         numPilots;
                    squadScore.VsObjects.Attack.FieldCaptures.Score += attackScore.VsObjectsFieldCapturesScore / numPilots;
                    squadScore.VsObjects.Attack.HitPercentage.Score += attackScore.VsObjectsHitPercentageScore / numPilots;
                }

                foreach (var bomberScores in pilotReg.BomberScoresList
                         .Where(bomberScores => bomberScores.TourNumber == tourNumber))
                {
                    squadScore.VsObjects.Bomber.DamagePerDeathPlus1.Score += bomberScores.VsObjectsDamagePerDeathScore /
                                                                             numPilots;
                    squadScore.VsObjects.Bomber.DamagePerSortie.Score += bomberScores.VsObjectsDamagePerSortieScore /
                                                                         numPilots;
                    squadScore.VsObjects.Bomber.FieldCaptures.Score += bomberScores.VsObjectsFieldCapturesScore /
                                                                       numPilots;
                    squadScore.VsObjects.Bomber.HitPercentage.Score += bomberScores.VsObjectsHitPercentageScore /
                                                                       numPilots;
                }

                foreach (var fighterScores in pilotReg.FighterScoresList
                         .Where(fighterScores => fighterScores.TourNumber == tourNumber))
                {
                    squadScore.VsEnemy.Fighter.HitPercentage.Score    += fighterScores.VsEnemyHitPercentageScore / numPilots;
                    squadScore.VsEnemy.Fighter.KillPerHour.Score      += fighterScores.VsEnemyKillsPerHourScore / numPilots;
                    squadScore.VsEnemy.Fighter.KillPerSortie.Score    += fighterScores.VsEnemyKillsToSortieScore / numPilots;
                    squadScore.VsEnemy.Fighter.KillToDeathPlus1.Score += fighterScores.VsEnemyKillsToDeathScore /
                                                                         numPilots;
                }

                foreach (var vehicleBoatScores in pilotReg.VehicleBoatScoresList
                         .Where(vehicleBoatScores => vehicleBoatScores.TourNumber == tourNumber))
                {
                    squadScore.VsEnemy.VehicleBoat.HitPercentage.Score += vehicleBoatScores.VsEnemyHitPercentageScore /
                                                                          numPilots;
                    squadScore.VsEnemy.VehicleBoat.KillPerHour.Score += vehicleBoatScores.VsEnemyKillsPerHourScore /
                                                                        numPilots;
                    squadScore.VsEnemy.VehicleBoat.KillPerSortie.Score += vehicleBoatScores.VsEnemyKillsToSortieScore /
                                                                          numPilots;
                    squadScore.VsEnemy.VehicleBoat.KillToDeathPlus1.Score += vehicleBoatScores.VsEnemyKillsToDeathScore /
                                                                             numPilots;
                    squadScore.VsObjects.VehicleBoat.DamagePerDeathPlus1.Score +=
                        vehicleBoatScores.VsObjectsDamagePerDeathScore / numPilots;
                    squadScore.VsObjects.VehicleBoat.DamagePerSortie.Score +=
                        vehicleBoatScores.VsObjectsDamagePerSortieScore / numPilots;
                    squadScore.VsObjects.VehicleBoat.FieldCaptures.Score +=
                        vehicleBoatScores.VsObjectsFieldCapturesScore / numPilots;
                    squadScore.VsObjects.VehicleBoat.HitPercentage.Score +=
                        vehicleBoatScores.VsObjectsHitPercentageScore / numPilots;
                }


                foreach (var stats in pilotReg.AttackStatsList.Cast <AttackStatsDO>()
                         .Where(stats => stats.TourNumber == tourNumber.ToString()))
                {
                    squadScore.Overall.Attack.Assists  += stats.OverAllAssists;
                    squadScore.Overall.Attack.Bailed   += stats.OverAllBailed;
                    squadScore.Overall.Attack.Captured += stats.OverAllCaptured;
                    squadScore.Overall.Attack.Death    += stats.OverAllDeath;
                    squadScore.Overall.Attack.Disco    += stats.OverAllDisco;
                    squadScore.Overall.Attack.Ditched  += stats.OverAllDitched;
                    squadScore.Overall.Attack.Kills    += stats.OverAllKills;
                    squadScore.Overall.Attack.Landed   += stats.OverAllLanded;
                    squadScore.Overall.Attack.Sorties  += stats.OverAllSorties;
                    squadScore.Overall.Attack.Time     += stats.OverAllTimeInSeconds;
                }

                foreach (var stats in pilotReg.BomberStatsList.Cast <BomberStatsDO>()
                         .Where(stats => stats.TourNumber == tourNumber.ToString()))
                {
                    squadScore.Overall.Bomber.Assists  += stats.OverAllAssists;
                    squadScore.Overall.Bomber.Bailed   += stats.OverAllBailed;
                    squadScore.Overall.Bomber.Captured += stats.OverAllCaptured;
                    squadScore.Overall.Bomber.Death    += stats.OverAllDeath;
                    squadScore.Overall.Bomber.Disco    += stats.OverAllDisco;
                    squadScore.Overall.Bomber.Ditched  += stats.OverAllDitched;
                    squadScore.Overall.Bomber.Kills    += stats.OverAllKills;
                    squadScore.Overall.Bomber.Landed   += stats.OverAllLanded;
                    squadScore.Overall.Bomber.Sorties  += stats.OverAllSorties;
                    squadScore.Overall.Bomber.Time     += stats.OverAllTimeInSeconds;
                }

                foreach (var stats in pilotReg.FighterStatsList.Cast <FighterStatsDO>()
                         .Where(stats => stats.TourNumber == tourNumber.ToString()))
                {
                    squadScore.Overall.Fighter.Assists  += stats.OverAllAssists;
                    squadScore.Overall.Fighter.Bailed   += stats.OverAllBailed;
                    squadScore.Overall.Fighter.Captured += stats.OverAllCaptured;
                    squadScore.Overall.Fighter.Death    += stats.OverAllDeath;
                    squadScore.Overall.Fighter.Disco    += stats.OverAllDisco;
                    squadScore.Overall.Fighter.Ditched  += stats.OverAllDitched;
                    squadScore.Overall.Fighter.Kills    += stats.OverAllKills;
                    squadScore.Overall.Fighter.Landed   += stats.OverAllLanded;
                    squadScore.Overall.Fighter.Sorties  += stats.OverAllSorties;
                    squadScore.Overall.Fighter.Time     += stats.OverAllTimeInSeconds;
                }

                foreach (var stats in pilotReg.VehicleBoatStatsList.Cast <VehicleBoatStatsDO>()
                         .Where(stats => stats.TourNumber == tourNumber.ToString()))
                {
                    squadScore.Overall.VehicleBoat.Assists  += stats.OverAllAssists;
                    squadScore.Overall.VehicleBoat.Bailed   += stats.OverAllBailed;
                    squadScore.Overall.VehicleBoat.Captured += stats.OverAllCaptured;
                    squadScore.Overall.VehicleBoat.Death    += stats.OverAllDeath;
                    squadScore.Overall.VehicleBoat.Disco    += stats.OverAllDisco;
                    squadScore.Overall.VehicleBoat.Ditched  += stats.OverAllDitched;
                    squadScore.Overall.VehicleBoat.Kills    += stats.OverAllKills;
                    squadScore.Overall.VehicleBoat.Landed   += stats.OverAllLanded;
                    squadScore.Overall.VehicleBoat.Sorties  += stats.OverAllSorties;
                    squadScore.Overall.VehicleBoat.Time     += stats.OverAllTimeInSeconds;
                }
            }

            squadScore.VsEnemy.Attack.HitPercentage.Score = decimal.Round(
                squadScore.VsEnemy.Attack.HitPercentage.Score, 2);
            squadScore.VsEnemy.Attack.KillPerHour.Score   = decimal.Round(squadScore.VsEnemy.Attack.KillPerHour.Score, 2);
            squadScore.VsEnemy.Attack.KillPerSortie.Score = decimal.Round(
                squadScore.VsEnemy.Attack.KillPerSortie.Score, 2);
            squadScore.VsEnemy.Attack.KillToDeathPlus1.Score =
                decimal.Round(squadScore.VsEnemy.Attack.KillToDeathPlus1.Score, 2);
            squadScore.VsObjects.Attack.DamagePerDeathPlus1.Score =
                decimal.Round(squadScore.VsObjects.Attack.DamagePerDeathPlus1.Score, 2);
            squadScore.VsObjects.Attack.DamagePerSortie.Score =
                decimal.Round(squadScore.VsObjects.Attack.DamagePerSortie.Score, 2);
            squadScore.VsObjects.Attack.FieldCaptures.Score =
                decimal.Round(squadScore.VsObjects.Attack.FieldCaptures.Score, 2);
            squadScore.VsObjects.Attack.HitPercentage.Score =
                decimal.Round(squadScore.VsObjects.Attack.HitPercentage.Score, 2);
            squadScore.VsObjects.Bomber.DamagePerDeathPlus1.Score =
                decimal.Round(squadScore.VsObjects.Bomber.DamagePerDeathPlus1.Score, 2);
            squadScore.VsObjects.Bomber.DamagePerSortie.Score =
                decimal.Round(squadScore.VsObjects.Bomber.DamagePerSortie.Score, 2);
            squadScore.VsObjects.Bomber.FieldCaptures.Score =
                decimal.Round(squadScore.VsObjects.Bomber.FieldCaptures.Score, 2);
            squadScore.VsObjects.Bomber.HitPercentage.Score =
                decimal.Round(squadScore.VsObjects.Bomber.HitPercentage.Score, 2);
            squadScore.VsEnemy.Fighter.HitPercentage.Score =
                decimal.Round(squadScore.VsEnemy.Fighter.HitPercentage.Score, 2);
            squadScore.VsEnemy.Fighter.KillPerHour.Score   = decimal.Round(squadScore.VsEnemy.Fighter.KillPerHour.Score, 2);
            squadScore.VsEnemy.Fighter.KillPerSortie.Score =
                decimal.Round(squadScore.VsEnemy.Fighter.KillPerSortie.Score, 2);
            squadScore.VsEnemy.Fighter.KillToDeathPlus1.Score =
                decimal.Round(squadScore.VsEnemy.Fighter.KillToDeathPlus1.Score, 2);
            squadScore.VsEnemy.VehicleBoat.HitPercentage.Score =
                decimal.Round(squadScore.VsEnemy.VehicleBoat.HitPercentage.Score, 2);
            squadScore.VsEnemy.VehicleBoat.KillPerHour.Score =
                decimal.Round(squadScore.VsEnemy.VehicleBoat.KillPerHour.Score, 2);
            squadScore.VsEnemy.VehicleBoat.KillPerSortie.Score =
                decimal.Round(squadScore.VsEnemy.VehicleBoat.KillPerSortie.Score, 2);
            squadScore.VsEnemy.VehicleBoat.KillToDeathPlus1.Score =
                decimal.Round(squadScore.VsEnemy.VehicleBoat.KillToDeathPlus1.Score, 2);
            squadScore.VsObjects.VehicleBoat.DamagePerDeathPlus1.Score =
                decimal.Round(squadScore.VsObjects.VehicleBoat.DamagePerDeathPlus1.Score, 2);
            squadScore.VsObjects.VehicleBoat.DamagePerSortie.Score =
                decimal.Round(squadScore.VsObjects.VehicleBoat.DamagePerSortie.Score, 2);
            squadScore.VsObjects.VehicleBoat.FieldCaptures.Score =
                decimal.Round(squadScore.VsObjects.VehicleBoat.FieldCaptures.Score, 2);
            squadScore.VsObjects.VehicleBoat.HitPercentage.Score =
                decimal.Round(squadScore.VsObjects.VehicleBoat.HitPercentage.Score, 2);

            if (squadScore.TourDetails == null)
            {
                squadScore.TourDetails = string.Format("{0} - [NO DATA]", tourNumber);
            }

            if (squadScore.TourId == null)
            {
                squadScore.TourId = tourNumber.ToString();
            }

            if (squadScore.TourType == null)
            {
                squadScore.TourType = "[UNKNOWN]";
            }


            return(squadScore);
        }