Exemplo n.º 1
0
        /// <summary>
        /// Constructor from XML.
        /// </summary>
        /// <param name="certClass"></param>
        /// <param name="src"></param>
        internal StaticCertificate(StaticCertificateClass certClass, SerializableCertificate src)
        {
            ID          = src.ID;
            Description = src.Description;
            Class       = certClass;
            Grades      = new Dictionary <CertificateGrade, List <StaticSkillLevel> >();

            // Recommendations
            Recommendations = new StaticRecommendations <Item>();
            if (src.Recommendations == null || StaticItems.ShipsMarketGroup == null)
            {
                return;
            }

            foreach (Ship ship in src.Recommendations
                     .Select(recommendation => StaticItems.ShipsMarketGroup.AllItems.OfType <Ship>()
                             .FirstOrDefault(item => item.Name == recommendation.ShipName))
                     .Where(ship => ship != null))
            {
                ship.Recommendations.Add(this);
                Recommendations.Add(ship);
            }
        }