public override string GetInfo()
        {
            string s = base.GetInfo();

            s += string.Format("<color={0}>{1}</color>\n", XKCDColors.HexFormat.Cyan, experimentActionName);
            s += string.Format("Can Transmit: {0}\n", RUIutils.GetYesNoUIString(canTransmit));

            if (canTransmit)
            {
                s += string.Format("Transmission: {0:P0}\n", xmitDataScalar);
            }

            if (excludeAtmosphere)
            {
                s += string.Format("Exclude Atmosphere: {0}\n", RUIutils.GetYesNoUIString(true));
            }

            s += string.Format("Experiment Complexity: {0}\n", complexity);

            s += string.Format("Std. Time To Completion: {0:N0} Days\n", getDays(experimentTime));

            if (animated && oneShotAnim)
            {
                s += string.Format("One Shot: {0}", RUIutils.GetYesNoUIString(true));
            }

            s += resHandler.PrintModuleResources(1);

            return(s);
        }
Ejemplo n.º 2
0
        private List <contractUIObject> typeSort(List <contractUIObject> cL, bool B)
        {
            List <int> position             = new List <int>();
            List <contractUIObject> altList = new List <contractUIObject>();

            for (int i = 0; i < cL.Count; i++)
            {
                foreach (ContractParameter cP in cL[i].Container.Root.AllParameters)
                {
                    if (cP.GetType() == typeof(ReachAltitudeEnvelope))
                    {
                        altList.Add(cL[i]);
                        position.Add(i);
                        break;
                    }
                }
            }
            if (altList.Count > 1)
            {
                altList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(B, ((ReachAltitudeEnvelope)a.Container.Root.AllParameters.First(s => s.GetType() == typeof(ReachAltitudeEnvelope))).minAltitude.CompareTo(((ReachAltitudeEnvelope)b.Container.Root.AllParameters.First(s => s.GetType() == typeof(ReachAltitudeEnvelope))).minAltitude), a.Container.Title.CompareTo(b.Container.Title)));
                for (int j = 0; j < position.Count; j++)
                {
                    cL[position[j]] = altList[j];
                }
            }

            //ReachFlightEnvelop doesn't actually seem to be used by anything

            //position.Clear();
            //List<contractContainer> flightList = new List<contractContainer>();
            //for (int i = 0; i < cL.Count; i++)
            //{
            //    foreach (parameterContainer cP in cL[i].paramList)
            //    {
            //        if (cP.cParam.ID == "testFlightEnvelope")
            //        {
            //            flightList.Add(cL[i]);
            //            position.Add(i);
            //        }
            //    }
            //}
            //if (flightList.Count > 1)
            //{
            //    flightList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(B, ((ReachFlightEnvelope)a.contract.AllParameters.First(s => s.ID == "testFlightEnvelope")).minAltitude.CompareTo(((ReachFlightEnvelope)b.contract.AllParameters.First(s => s.ID == "testFlightEnvelope")).minAltitude), a.contract.Title.CompareTo(b.contract.Title)));
            //    for (int j = 0; j < position.Count; j++)
            //    {
            //        cL[position[j]] = flightList[j];
            //    }
            //}

            return(cL);
        }
        public override string GetInfo()
        {
            var info = StringBuilderCache.Acquire();

            info.Append(Localizer.Format("#LOC_KSPIE_MicrowavePowerTransmitter_info1")); //Aperture Diameter
            info.Append(": ").Append(apertureDiameter.ToString("F1")).AppendLine(" m");
            info.Append(Localizer.Format("#LOC_KSPIE_MicrowavePowerTransmitter_info2")); //Can Mirror power
            info.Append(": ").AppendLine(RUIutils.GetYesNoUIString(isMirror));
            info.Append(Localizer.Format("#LOC_KSPIE_MicrowavePowerTransmitter_info3")); //Can Transmit power
            info.Append(": ").AppendLine(RUIutils.GetYesNoUIString(canTransmit));
            info.Append(Localizer.Format("#LOC_KSPIE_MicrowavePowerTransmitter_info4")); //Can Relay independently
            info.Append(": ").AppendLine(RUIutils.GetYesNoUIString(buildInRelay));

            return(info.ToStringAndRelease());
        }
Ejemplo n.º 4
0
        public override string GetInfo()
        {
            var sb = new StringBuilder("<color=#8dffec>KIS Part Printing Workshop</color>");

            sb.Append($"\nMinimum Crew: {MinimumCrew}");
            sb.Append($"\nBase productivity factor: {ProductivityFactor:P0}");
            sb.Append($"\nUse specialist bonus: ");
            sb.Append(RUIutils.GetYesNoUIString(UseSpecializationBonus));
            if (UseSpecializationBonus)
            {
                sb.Append($"\nSpecialist skill: {ExperienceEffect}");
                sb.Append($"\nSpecialist bonus: {SpecialistEfficiencyFactor:P0} per level");
            }
            return(sb.ToString());
        }
Ejemplo n.º 5
0
        private List <TrackingStationWidget> SortWidgetsAlpha(List <TrackingStationWidget> widgets, bool asc)
        {
            List <KeyValuePair <TrackingStationWidget, double> > maneuvers = GetManeuvers(widgets);

            widgets.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!asc, a.vessel.vesselName.CompareTo(b.vessel.vesselName), a.vessel.launchTime.CompareTo(b.vessel.launchTime)));

            int count = maneuvers.Count;

            for (int i = 0; i < count; i++)
            {
                widgets.Add(maneuvers[i].Key);
            }

            return(widgets);
        }
Ejemplo n.º 6
0
        public override string GetInfo()
        {
            StringBuilder sb = new StringBuilder("<color=#8dffec>KIS Part Recycker</color>");

            sb.Append("\nMinimum Crew: "); sb.Append(MinimumCrew);
            sb.Append(string.Format("\nBase productivity factor: {0:P0}", ProductivityFactor));
            sb.Append("\nUse specialist bonus: ");
            sb.Append(RUIutils.GetYesNoUIString(UseSpecializationBonus));
            if (UseSpecializationBonus)
            {
                sb.Append("\nSpecialist skill: "); sb.Append(ExperienceEffect);
                sb.Append(string.Format("\nSpecialist bonus: {0:P0} per level", SpecialistEfficiencyFactor));
            }

            return(sb.ToString());
        }
Ejemplo n.º 7
0
        public override string GetInfo()
        {
            string info = base.GetInfo();

            if (breakable)
            {
                info += string.Format("Breakable: {0}\n", RUIutils.GetYesNoUIString(fixable));

                info += string.Format("Fixable: {0}\n", RUIutils.GetYesNoUIString(fixable));

                if (fixable)
                {
                    info += string.Format("Engineer Level To Fix: {0}\n", fixLevel);
                }
            }

            return(info);
        }
        //Returns an ordered list of missions for the main window; the master mission is always first
        internal List <contractMission> getAllMissions()
        {
            List <contractMission> mList    = new List <contractMission>();
            List <contractMission> tempList = new List <contractMission>();

            for (int i = 0; i < missionList.Count; i++)
            {
                contractMission m = missionList.At(i);

                if (m == null)
                {
                    continue;
                }

                if (m.MasterMission)
                {
                    mList.Add(m);
                }
                else
                {
                    tempList.Add(m);
                }
            }

            if (mList.Count == 0)
            {
                if (addMissionList("MasterMission"))
                {
                    mList.Add(getMissionList("MasterMission"));
                }
            }

            tempList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(false, a.ActiveContracts.CompareTo(b.ActiveContracts), a.MissionTitle.CompareTo(b.MissionTitle)));

            if (tempList.Count > 0)
            {
                mList.AddRange(tempList);
            }

            return(mList);
        }
Ejemplo n.º 9
0
        public override string GetInfo()
        {
            var sb = StringBuilderCache.Acquire();

            sb.Append(Localizer.Format("#LOC_KSPIE_BeamGenerator_Type")).Append(": ").AppendLine(beamTypeName); //Type
            sb.Append(Localizer.Format("#LOC_KSPIE_BeamGenerator_CanSwitch")).Append(": ");
            sb.AppendLine(RUIutils.GetYesNoUIString(canSwitchWavelengthInFlight)).AppendLine();                 //Can Switch In Flight

            if (!string.IsNullOrEmpty(techLevelMk2))
            {
                sb.Append("<color=#7fdfffff>").Append(Localizer.Format("#LOC_KSPIE_BeamGenerator_upgradeTechnologies")).AppendLine(":</color><size=10>");
                if (!string.IsNullOrEmpty(techLevelMk1))
                {
                    sb.Append("<color=#ffff00ff>Mk1:</color> ").AppendLine(Localizer.Format(PluginHelper.GetTechTitleById(techLevelMk1)));
                }
                if (!string.IsNullOrEmpty(techLevelMk2))
                {
                    sb.Append("<color=#ffdd00ff>Mk2:</color> ").AppendLine(Localizer.Format(PluginHelper.GetTechTitleById(techLevelMk2)));
                }
                if (!string.IsNullOrEmpty(techLevelMk3))
                {
                    sb.Append("<color=#ffcc00ff>Mk3:</color> ").AppendLine(Localizer.Format(PluginHelper.GetTechTitleById(techLevelMk3)));
                }
                if (!string.IsNullOrEmpty(techLevelMk4))
                {
                    sb.Append("<color=#ffbb00ff>Mk4:</color> ").AppendLine(Localizer.Format(PluginHelper.GetTechTitleById(techLevelMk4)));
                }
                if (!string.IsNullOrEmpty(techLevelMk5))
                {
                    sb.Append("<color=#ffaa00ff>Mk5:</color> ").AppendLine(Localizer.Format(PluginHelper.GetTechTitleById(techLevelMk5)));
                }
                sb.AppendLine("</size>");
            }

            if (_inlineConfigurations.Count <= 0)
            {
                return(sb.ToString());
            }

            sb.Append("<color=#7fdfffff>").Append(Localizer.Format("#LOC_KSPIE_BeamGenerator_atmosphericAbsorbtion")).AppendLine(":</color><size=10>");
            foreach (var beamConfiguration in _inlineConfigurations)
            {
                sb.Append(ExtendWithSpace(beamConfiguration.atmosphericAbsorptionPercentage + "%", 4));
                sb.Append(" / ").Append(ExtendWithSpace(beamConfiguration.waterAbsorptionPercentage + "%", 4));
                sb.Append("<color=#00ff00ff> ").Append(beamConfiguration.beamWaveName).AppendLine("</color>");
            }
            sb.AppendLine("</size>");

            sb.Append("<color=#7fdfffff>").Append(Localizer.Format("#LOC_KSPIE_BeamGenerator_beamEfficiencies")).AppendLine(":</color><size=10>");
            foreach (var beamConfiguration in _inlineConfigurations)
            {
                sb.Append("<color=#00ff00ff>").Append(beamConfiguration.beamWaveName).Append("</color>");
                sb.Append("<color=#00e600ff> (").Append(WavelengthToText(beamConfiguration.wavelength)).AppendLine(")</color>  ");
                if (beamConfiguration.efficiencyPercentage0 > 0)
                {
                    sb.Append(GetColorCodeFromTechId(beamConfiguration.techRequirement0)).Append("Mk").
                    Append(GetTechLevelFromTechId(beamConfiguration.techRequirement0)).Append(":</color> ").
                    Append(beamConfiguration.efficiencyPercentage0).Append("% ");
                }
                if (beamConfiguration.efficiencyPercentage1 > 0)
                {
                    sb.Append(GetColorCodeFromTechId(beamConfiguration.techRequirement1)).Append("Mk").
                    Append(GetTechLevelFromTechId(beamConfiguration.techRequirement1)).Append(":</color> ")
                    .Append(beamConfiguration.efficiencyPercentage1).Append("% ");
                }
                if (beamConfiguration.efficiencyPercentage2 > 0)
                {
                    sb.Append(GetColorCodeFromTechId(beamConfiguration.techRequirement2)).Append("Mk").
                    Append(GetTechLevelFromTechId(beamConfiguration.techRequirement2)).Append(":</color> ").
                    Append(beamConfiguration.efficiencyPercentage2).Append("% ");
                }
                if (beamConfiguration.efficiencyPercentage3 > 0)
                {
                    sb.Append(GetColorCodeFromTechId(beamConfiguration.techRequirement3)).Append("Mk").
                    Append(GetTechLevelFromTechId(beamConfiguration.techRequirement3)).Append(":</color> ").
                    Append(beamConfiguration.efficiencyPercentage3).Append("% ");
                }
                sb.AppendLine();
            }
            sb.Append("</size>");

            return(sb.ToStringAndRelease());
        }
Ejemplo n.º 10
0
 public static string DisplayTech(string techId)
 {
     return(string.IsNullOrEmpty(techId) ? string.Empty : RUIutils.GetYesNoUIString(
                UpgradeAvailable(techId)) + " " + Localizer.Format(GetTechTitleById(techId)));
 }
Ejemplo n.º 11
0
        private List <Guid> sortContracts(List <Guid> list, contractSortClass sortClass, bool dsc)
        {
            sortList.Clear();

            int l = list.Count;

            for (int i = 0; i < l; i++)
            {
                Guid id = list[i];

                contractUIObject cC = currentMission.getContract(id);

                if (cC == null)
                {
                    continue;
                }

                if (cC.Order != null)
                {
                    continue;
                }

                sortList.Add(cC);
            }

            switch (sortClass)
            {
            case contractSortClass.Expiration:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.Duration.CompareTo(b.Container.Duration), a.Container.Title.CompareTo(b.Container.Title)));
                break;

            case contractSortClass.Acceptance:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.Root.DateAccepted.CompareTo(b.Container.Root.DateAccepted), a.Container.Title.CompareTo(b.Container.Title)));
                break;

            case contractSortClass.Reward:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.TotalReward.CompareTo(b.Container.TotalReward), a.Container.Title.CompareTo(b.Container.Title)));

                break;

            case contractSortClass.Difficulty:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.Root.Prestige.CompareTo(b.Container.Root.Prestige), a.Container.Title.CompareTo(b.Container.Title)));

                break;

            case contractSortClass.Planet:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.TargetPlanet.CompareTo(b.Container.TargetPlanet), a.Container.Title.CompareTo(b.Container.Title)));

                break;

            case contractSortClass.Type:
                sortList.Sort((a, b) => RUIutils.SortAscDescPrimarySecondary(!dsc, a.Container.Root.GetType().Name.CompareTo(b.Container.Root.GetType().Name), a.Container.Title.CompareTo(b.Container.Title)));
                sortList = typeSort(sortList, !dsc);
                break;
            }

            list.Clear();

            if (pinnedList.Count > 0)
            {
                list.AddRange(pinnedList);
            }

            int k = sortList.Count;

            for (int i = 0; i < k; i++)
            {
                contractUIObject c = sortList[i];

                if (c == null)
                {
                    continue;
                }

                list.Add(c.ID);
            }

            return(list);
        }
Ejemplo n.º 12
0
        public override string GetInfo()
        {
            string s = base.GetInfo();

            s += string.Format("<color={0}>{1}</color>\n", XKCDColors.HexFormat.Cyan, experimentActionName);
            s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoTransmit", RUIutils.GetYesNoUIString(canTransmit));

            if (canTransmit)
            {
                s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoTransmission", xmitDataScalar.ToString("P0"));
            }

            if (excludeAtmosphere)
            {
                s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoAtmosphere", RUIutils.GetYesNoUIString(true));
            }

            s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoComplexity", complexity);

            s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoCompletion", getDays(experimentTime).ToString("N0"));

            if (animated && oneShotAnim)
            {
                s += Localizer.Format("#LOC_SurfaceExperimentPack_ModuleSEPScienceExperiment_infoOneShot", RUIutils.GetYesNoUIString(true));
            }

            s += resHandler.PrintModuleResources(1);

            return(s);
        }