/// <summary> /// Create an XmlElement representation of the star report for saving. /// </summary> /// <param name="xmldoc">The parent XmlDocument.</param> /// <returns>An XmlElement representation of the report.</returns> public new XmlElement ToXml(XmlDocument xmldoc) { XmlElement xmlelStarIntel = xmldoc.CreateElement("StarIntel"); // include inherited Item properties xmlelStarIntel.AppendChild(base.ToXml(xmldoc)); Global.SaveData(xmldoc, xmlelStarIntel, "Year", Year.ToString(System.Globalization.CultureInfo.InvariantCulture)); xmlelStarIntel.AppendChild(MineralConcentration.ToXml(xmldoc, "MineralConcentration")); Global.SaveData(xmldoc, xmlelStarIntel, "Gravity", Gravity.ToString(System.Globalization.CultureInfo.InvariantCulture)); Global.SaveData(xmldoc, xmlelStarIntel, "Radiation", Radiation.ToString(System.Globalization.CultureInfo.InvariantCulture)); Global.SaveData(xmldoc, xmlelStarIntel, "Temperature", Temperature.ToString(System.Globalization.CultureInfo.InvariantCulture)); Global.SaveData(xmldoc, xmlelStarIntel, "Colonists", Colonists.ToString(System.Globalization.CultureInfo.InvariantCulture)); Global.SaveData(xmldoc, xmlelStarIntel, "HasFleetsInOrbit", HasFleetsInOrbit.ToString()); if (Starbase != null) { Global.SaveData(xmldoc, xmlelStarIntel, "Starbase", Starbase.Key.ToString("X")); } return(xmlelStarIntel); }
// EdB: Copied from MapInitData.AnyoneCanDoBasicWork() and changed from a static to an instance method. public bool AnyoneCanDoBasicWorks() { if (colonists.Count == 0) { return(false); } WorkTypeDef[] array = new WorkTypeDef[] { WorkTypeDefOf.Hauling, WorkTypeDefOf.Construction, WorkTypeDefOf.Mining, WorkTypeDefOf.Growing, WorkTypeDefOf.Cleaning, WorkTypeDefOf.PlantCutting, WorkTypeDefOf.Repair }; WorkTypeDef[] array2 = array; WorkTypeDef wt; for (int i = 0; i < array2.Length; i++) { wt = array2[i]; if (!Colonists.Any((Pawn col) => !col.story.WorkTypeIsDisabled(wt))) { return(false); } } return(true); }
// EdB: Copied from MapInitData.RegeneratePawn() and changed from a static to an instance method. public Pawn RegeneratePawn(Pawn p) { Pawn pawn = PawnGenerator.GeneratePawn(PawnKindDefOf.Colonist, Faction.OfColony); //MapInitData.colonists[MapInitData.colonists.IndexOf(p)] = pawn; Colonists[Colonists.IndexOf(p)] = pawn; return(pawn); }