예제 #1
0
        /// <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);
        }