private void MissingPopup(Dictionary<string, bool> missing_parts)
{
string text = "";
foreach (string mp in missing_parts.Keys)
text += mp + "\n";
int ind = uis.craftfile.LastIndexOf("/") + 1;
string craft = uis.craftfile.Substring (ind);
craft = craft.Remove (craft.LastIndexOf("."));
PopupDialog.SpawnPopupDialog("Sorry", "Can't build " + craft + " due to the following missing parts\n\n" + text, "OK", false, HighLogic.Skin);
}