示例#1
0
        /// <summary>
        /// Constructor from XML
        /// </summary>
        /// <param name="certClass"></param>
        /// <param name="element"></param>
        internal StaticCertificate(StaticCertificateClass certClass, SerializableCertificate src)
        {
            m_class = certClass;

            m_id          = src.ID;
            m_grade       = src.Grade;
            m_description = src.Description;

            // Recommendations
            if (src.Recommendations != null)
            {
                foreach (var recommendation in src.Recommendations)
                {
                    var ship = StaticItems.Ships.AllItems.FirstOrDefault(x => x.Name == recommendation.Ship) as Ship;
                    if (ship != null)
                    {
                        ship.Recommendations.Add(this);
                        m_recommendations.Add(ship);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Updates a "plan to" menu
        /// </summary>
        /// <param name="menu">The menu to update</param>
        /// <param name="certClass">The selected certificate class</param>
        /// <param name="grade">The grade represent by this menu</param>
        /// <param name="lastEligibleCert">The highest eligible certificate after this plan</param>
        private void UpdatePlanningMenuStatus(ToolStripMenuItem menu, CertificateClass certClass,
                                              CertificateGrade grade, Certificate lastEligibleCert)
        {
            var cert = certClass[grade];

            if (cert == null)
            {
                menu.Visible = false;
            }
            else
            {
                menu.Visible = true;
                if (lastEligibleCert == null)
                {
                    menu.Enabled = true;
                }
                else
                {
                    menu.Enabled = ((int)cert.Grade > (int)lastEligibleCert.Grade);
                }
            }
        }
示例#3
0
		/// <summary>
		/// Constructor from XML
		/// </summary>
		/// <param name="certClass"></param>
		/// <param name="element"></param>
		internal StaticCertificate(StaticCertificateClass certClass, SerializableCertificate src)
		{
			m_class = certClass;

			m_id = src.ID;
			m_grade = src.Grade;
			m_description = src.Description;

			// Recommendations
			if (src.Recommendations != null)
			{
				foreach (var recommendation in src.Recommendations)
				{
					var ship = StaticItems.Ships.AllItems.FirstOrDefault(x => x.Name == recommendation.Ship) as Ship;
					if (ship != null)
					{
						ship.Recommendations.Add(this);
						m_recommendations.Add(ship);
					}
				}
			}
		}
示例#4
0
 /// <summary>
 /// Gets the certificate with the specified grade
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public StaticCertificate this[CertificateGrade grade]
 {
     get { return(this.m_certificates[(int)grade]); }
 }
示例#5
0
        private void SetAdditionMenuStatus(ToolStripMenuItem menu, CertificateClass certClass, CertificateGrade grade)
        {
            var cert = certClass[grade];

            if (cert == null)
            {
                menu.Visible = false;
            }
            else
            {
                menu.Visible = true;
                menu.Enabled = !m_plan.WillGrantEligibilityFor(cert);
            }
        }
示例#6
0
 /// <summary>
 /// Gets a certificate from this class by its grade. May be null if there is no such grade for this class.
 /// </summary>
 /// <param name="grade"></param>
 /// <returns></returns>
 public Certificate this[CertificateGrade grade]
 {
     get { return(m_items[(int)grade]); }
 }
 /// <summary>
 /// Updates a "plan to" menu
 /// </summary>
 /// <param name="menu">The menu to update</param>
 /// <param name="certClass">The selected certificate class</param>
 /// <param name="grade">The grade represent by this menu</param>
 /// <param name="lastEligibleCert">The highest eligible certificate after this plan</param>
 private void UpdatePlanningMenuStatus(ToolStripMenuItem menu, CertificateClass certClass,
                                       CertificateGrade grade, Certificate lastEligibleCert)
 {
     var cert = certClass[grade];
     if (cert == null)
     {
         menu.Visible = false;
     }
     else
     {
         menu.Visible = true;
         if (lastEligibleCert == null) menu.Enabled = true;
         else menu.Enabled = ((int)cert.Grade > (int)lastEligibleCert.Grade);
     }
 }