public override void Draw() { root.Print(menu, 1, 1, "Creature Detail Menu"); root.Print(menu, 1, 2, "--------------------"); root.Print(menu, 1, 3, "Name : " + creature.Name); root.Print(menu, 1, 4, "Type : " + creature.controller.ToString()); int line = 5; foreach (ComponentsParts CP in creature.components) { root.Print(menu, 1, line, CP.ToString()); line++; } line = line + 2; foreach (BodyPart BP in creature.body.bodyparts.Values) { root.Print(menu, 1, line, BP.ToString()); line++; } root.Print(menu, 1, line, "**** EFFECTS **** "); line++; foreach (Effect e in creature.effects) { root.Print(menu, 1, line, e.ToString()); line++; } int details_line = 1; root.Print(details, 1, details_line, "DETAILS"); details_line += 2; root.Print(details, 1, details_line, "IsActive : " + creature.IsActive.ToString()); details_line += 2; root.Print(details, 1, details_line, "IsAlive : " + creature.body.IsAlive.ToString()); details_line += 2; root.Print(details, 1, details_line, "CanMove : " + creature.body.CanMove.ToString()); details_line += 2; root.Print(details, 1, details_line, "Faction : " + creature.Faction.ToString()); details_line += 2; base.Draw(); }
/// <summary> /// Print the object's XML to the XmlWriter. /// </summary> /// <param name="objWriter">XmlTextWriter to write with.</param> /// <param name="intRating">Pre-calculated rating of the quality for printing.</param> /// <param name="objCulture">Culture in which to print.</param> /// <param name="strLanguageToPrint">Language in which to print</param> public void Print(XmlTextWriter objWriter, int intRating, CultureInfo objCulture, string strLanguageToPrint) { if (AllowPrint) { string strSpaceCharacter = LanguageManager.GetString("String_Space", strLanguageToPrint); string strRatingString = string.Empty; if (intRating > 1) { strRatingString = strSpaceCharacter + intRating.ToString(objCulture); } string strSourceName = string.Empty; if (!string.IsNullOrWhiteSpace(SourceName)) { strSourceName = strSpaceCharacter + '(' + GetSourceName(strLanguageToPrint) + ')'; } objWriter.WriteStartElement("quality"); objWriter.WriteElementString("name", DisplayNameShort(strLanguageToPrint)); objWriter.WriteElementString("name_english", Name + strRatingString); objWriter.WriteElementString("extra", LanguageManager.TranslateExtra(Extra, strLanguageToPrint) + strRatingString + strSourceName); objWriter.WriteElementString("bp", BP.ToString(objCulture)); string strQualityType = Type.ToString(); if (strLanguageToPrint != GlobalOptions.DefaultLanguage) { strQualityType = XmlManager.Load("qualities.xml", strLanguageToPrint).SelectSingleNode("/chummer/categories/category[. = \"" + strQualityType + "\"]/@translate")?.InnerText ?? strQualityType; } objWriter.WriteElementString("qualitytype", strQualityType); objWriter.WriteElementString("qualitytype_english", Type.ToString()); objWriter.WriteElementString("qualitysource", OriginSource.ToString()); objWriter.WriteElementString("source", CommonFunctions.LanguageBookShort(Source, strLanguageToPrint)); objWriter.WriteElementString("page", DisplayPage(strLanguageToPrint)); if (_objCharacter.Options.PrintNotes) { objWriter.WriteElementString("notes", Notes); } objWriter.WriteEndElement(); } }
private static Dictionary <string, string> GetIntegrationRolloutVariables(BuildListVessel vessel, List <BuildListVessel> mergedVessels = null) { double loadedMass, emptyMass, loadedCost, emptyCost, effectiveCost, BP; loadedCost = vessel.Cost; emptyCost = vessel.EmptyCost; loadedMass = vessel.GetTotalMass(); emptyMass = vessel.EmptyMass; effectiveCost = vessel.EffectiveCost; if (mergedVessels?.Count > 0) { foreach (BuildListVessel v in mergedVessels) { loadedCost += v.Cost; emptyCost += v.EmptyCost; loadedMass += v.GetTotalMass(); emptyMass += v.EmptyMass; effectiveCost += v.EffectiveCost; } BP = Utilities.GetBuildTime(effectiveCost); } else { BP = vessel.BuildPoints; } float LaunchSiteLvl = 0; int EditorLevel = 0, EditorMax = 0, LaunchSiteMax = 0; int isVABVessel = 0; if (vessel.Type == BuildListVessel.ListType.None) { vessel.FindTypeFromLists(); } if (vessel.Type == BuildListVessel.ListType.VAB) { EditorLevel = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.VehicleAssemblyBuilding); LaunchSiteLvl = KCTGameStates.ActiveKSC.ActiveLPInstance.fractionalLevel; EditorMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.VehicleAssemblyBuilding); LaunchSiteMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.LaunchPad); isVABVessel = 1; } else if (vessel.Type == BuildListVessel.ListType.SPH) { EditorLevel = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.SpaceplaneHangar); LaunchSiteLvl = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.Runway); EditorMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.SpaceplaneHangar); LaunchSiteMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.Runway); } double OverallMult = PresetManager.Instance.ActivePreset.TimeSettings.OverallMultiplier; var variables = new Dictionary <string, string> { { "M", loadedMass.ToString() }, { "m", emptyMass.ToString() }, { "C", loadedCost.ToString() }, { "c", emptyCost.ToString() }, { "VAB", isVABVessel.ToString() }, { "E", vessel.EffectiveCost.ToString() }, { "BP", BP.ToString() }, { "L", LaunchSiteLvl.ToString() }, { "LM", LaunchSiteMax.ToString() }, { "EL", EditorLevel.ToString() }, { "ELM", EditorMax.ToString() }, { "O", OverallMult.ToString() }, { "SN", vessel.NumStages.ToString() }, { "SP", vessel.NumStageParts.ToString() }, { "SC", vessel.StagePartCost.ToString() } }; AddCrewVariables(variables); return(variables); }