/// <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); } } } }
/// <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); } } }
/// <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]); } }
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); } }
/// <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); } }