public bool BlueprintComplete() { if (!Complete) { return(false); } var db = new HashSet <uint>(); Jobs.ForEach(p => db.Add(p.craftID)); foreach (ConfigNode p in Blueprint.nodes) { var name_id = p.GetValue("part"); if (string.IsNullOrEmpty(name_id)) { continue; } string name = "", cid = "0"; KSPUtil.GetPartInfo(name_id, ref name, ref cid); if (!db.Contains(uint.Parse(cid))) { return(false); } } return(true); }