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