protected void CreateVesselListParameter() { if (vesselList.Any()) { if (vesselList.Count() == 1) { vesselListParam = new ParameterDelegate <Vessel>(hideVesselName ? "" : Localizer.Format("#cc.param.VesselParameterGroup.default", ContractVesselTracker.GetDisplayName(vesselList.First())), v => { bool check = VesselCanBeConsidered(v); if (!hideVesselName) { vesselListParam.SetTitle(Localizer.Format((FlightGlobals.ActiveVessel == v && trackedVessel != null ? "#cc.param.VesselParameterGroup.default" : "#cc.param.VesselParameterGroup.trackedVessel"), ContractVesselTracker.GetDisplayName(vesselList.First()))); } return(check); }); vesselListParam.Optional = true; vesselListParam.fakeOptional = true; AddParameter(vesselListParam); } else { vesselListParam = new ParameterDelegate <Vessel>(hideVesselName ? "" : Localizer.GetStringByTag("#cc.param.VesselParameterGroup.anyVesselListEmpty"), v => { bool check = VesselCanBeConsidered(v); if (!hideVesselName) { if (check) { vesselListParam.SetTitle(Localizer.Format("#cc.param.VesselParameterGroup.anyVesselList", ParameterDelegate <Vessel> .GetDelegateText(vesselListParam))); } else { Localizer.GetStringByTag("#cc.param.VesselParameterGroup.anyVesselListEmpty"); } } return(check); }); vesselListParam.Optional = true; vesselListParam.fakeOptional = true; foreach (string vessel in vesselList) { ContractParameter childParam = new ParameterDelegate <Vessel>(ContractVesselTracker.GetDisplayName(vessel), v => false); vesselListParam.AddParameter(childParam); } AddParameter(vesselListParam); } } }
protected override string GetParameterTitle() { // Set the first part of the output string output; if (!string.IsNullOrEmpty(title)) { output = title; } else { // Set the vessel name if ((waiting || state == ParameterState.Complete) && trackedVessel != null) { output = Localizer.Format("#cc.param.VesselParameterGroup.default", trackedVessel.vesselName); } else if (!string.IsNullOrEmpty(define)) { output = Localizer.Format("#cc.param.VesselParameterGroup.newVessel", define); } else if (vesselList.Any()) { output = Localizer.Format("#cc.param.VesselParameterGroup.default", LocalizationUtil.LocalizeList <string>(LocalizationUtil.Conjunction.OR, vesselList.AsEnumerable(), vesselName => { if (ContractVesselTracker.Instance != null) { return(ContractVesselTracker.GetDisplayName(vesselName)); } else { LoggingUtil.LogWarning(this, "Unable to get vessel display name for '{0}' - ContractVesselTracker is null. This is likely caused by another ScenarioModule crashing, preventing others from loading.", vesselName); return(vesselName); } } )); } else { output = Localizer.GetStringByTag("#cc.param.VesselParameterGroup.anyVessel"); } // If we're complete and a custom title hasn't been provided, try to get a better title if (state == ParameterState.Complete && ParameterCount == 1 && trackedVessel != null) { output = Localizer.Format("#cc.param.VesselParameterGroup.complete", trackedVessel.vesselName, GetParameter(0).Title); } } return(output); }
protected override string GetParameterTitle() { string output = null; if (string.IsNullOrEmpty(title)) { if (vesselIdentifier != null) { if (countMax == 1) { output = "Kill no Kerbals"; } else { output = "Kill no more than " + countMax + " Kerbals"; } output += " on vessel " + ContractVesselTracker.GetDisplayName(vesselIdentifier.identifier); } else if (!kerbals.Any()) { if (countMax == 1) { output = "Kill no Kerbals"; } else { output = "Kill no more than " + countMax + " Kerbals"; } } else { output = "Do not kill"; if (state != ParameterState.Incomplete || ParameterCount == 1) { if (ParameterCount == 1) { hideChildren = true; } output += ": " + ParameterDelegate <ProtoCrewMember> .GetDelegateText(this); } } } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output = ""; if (string.IsNullOrEmpty(title)) { if (vessels.Count == 1) { output = ContractVesselTracker.GetDisplayName(vessels[0]) + ": Not destroyed"; } else if (vessels.Count != 0) { output = "Vessels not destroyed: "; bool first = true; foreach (string vessel in vessels) { output += (first ? "" : ", ") + ContractVesselTracker.GetDisplayName(vessel); first = false; } } else if (Parent is VesselParameterGroup && ((VesselParameterGroup)Parent).VesselList.Any()) { IEnumerable <string> vesselList = ((VesselParameterGroup)Parent).VesselList; if (vesselList.Count() == 1) { output = ContractVesselTracker.GetDisplayName(vesselList.First()) + ": Not destroyed"; } else { output = "Vessels not destroyed: "; bool first = true; foreach (string vessel in vesselList) { output += (first ? "" : ", ") + ContractVesselTracker.GetDisplayName(vessel); first = false; } } } else { output = "No vessels destroyed"; } } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output; if (string.IsNullOrEmpty(title)) { output = "Vessel: Not " + ContractVesselTracker.GetDisplayName(vesselKey); } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output; if (string.IsNullOrEmpty(title)) { output = Localizer.Format("#cc.param.IsNotVessel", ContractVesselTracker.GetDisplayName(vesselKey)); } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output; if (string.IsNullOrEmpty(title)) { output = (hasConnectivity ? "Direct connection to: " : "No direct connection to: "); output += ContractVesselTracker.GetDisplayName(vesselKey); } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output = ""; if (string.IsNullOrEmpty(title)) { if (Parent is VesselParameterGroup) { output = Localizer.Format("#cc.param.Rendezvous.1", vessels.Count > 0 ? ContractVesselTracker.GetDisplayName(vessels[0]) : Localizer.GetStringByTag("#cc.param.vessel.Any")); } else { output = Localizer.Format("#cc.param.Rendezvous.2", ContractVesselTracker.GetDisplayName(vessels[0]), vessels.Count > 1 ? ContractVesselTracker.GetDisplayName(vessels[1]) : Localizer.GetStringByTag("#cc.param.vessel.any")); } } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output = ""; if (string.IsNullOrEmpty(title)) { if (Parent is VesselParameterGroup) { output = "Rendezvous with: "; if (vessels.Count > 0) { output += ContractVesselTracker.GetDisplayName(vessels[0]); } else { output += "Any vessel"; } } else { output = "Rendezvous: " + ContractVesselTracker.GetDisplayName(vessels[0]) + " and "; if (vessels.Count > 1) { output += ContractVesselTracker.GetDisplayName(vessels[1]); } else { output += "any vessel"; } } } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output = ""; if (string.IsNullOrEmpty(title)) { if (vessels.Count == 1) { output = Localizer.Format("#cc.param.VesselNotDestroyed", ContractVesselTracker.GetDisplayName(vessels[0])); } else if (vessels.Count != 0) { output = Localizer.Format("#cc.param.VesselNotDestroyed", LocalizationUtil.LocalizeList <string>(LocalizationUtil.Conjunction.OR, vessels, v => ContractVesselTracker.GetDisplayName(v))); } else if (Parent is VesselParameterGroup && ((VesselParameterGroup)Parent).VesselList.Any()) { IEnumerable <string> vesselList = ((VesselParameterGroup)Parent).VesselList; if (vesselList.Count() == 1) { output = Localizer.Format("#cc.param.VesselNotDestroyed", ContractVesselTracker.GetDisplayName(vesselList.First())); } else { output = Localizer.Format("#cc.param.VesselNotDestroyed", LocalizationUtil.LocalizeList <string>(LocalizationUtil.Conjunction.OR, vesselList, v => ContractVesselTracker.GetDisplayName(v))); } } else { output = Localizer.GetStringByTag("#cc.param.VesselNotDestroyed.any"); } } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output; if (string.IsNullOrEmpty(title)) { output = Localizer.Format(hasConnectivity ? "#cc.remotetech.param.VesselConnectivity" : "#cc.remotetech.param.VesselConnectivity.x", ContractVesselTracker.GetDisplayName(vesselKey)); } else { output = title; } return(output); }
protected override string GetParameterTitle() { string output = null; if (string.IsNullOrEmpty(title)) { if (vesselIdentifier != null) { output = Localizer.Format("#cc.param.KerbalDeaths.vessel", countMax - 1, ContractVesselTracker.GetDisplayName(vesselIdentifier.identifier)); } else if (!kerbals.Any()) { output = Localizer.Format("#cc.param.KerbalDeaths.generic", countMax - 1); } else { output = Localizer.Format("#cc.param.KerbalDeaths.specific"); if (state != ParameterState.Incomplete || ParameterCount == 1) { if (ParameterCount == 1) { output = StringBuilderCache.Format("{0}: {1}", output, ParameterDelegate <ProtoCrewMember> .GetDelegateText(this)); hideChildren = true; } } } } else { output = title; } return(output); }
protected override string GetParameterTitle() { // Set the first part of the output string output; if (!string.IsNullOrEmpty(title)) { output = title; } else { // Set the vessel name output = "Vessel: "; if ((waiting || state == ParameterState.Complete) && trackedVessel != null) { output += trackedVessel.vesselName; } else if (!string.IsNullOrEmpty(define)) { output += define + " (new)"; } else if (vesselList.Any()) { bool first = true; foreach (string vesselName in vesselList) { if (!first) { output += " OR "; } if (ContractVesselTracker.Instance != null) { output += ContractVesselTracker.GetDisplayName(vesselName); } else { LoggingUtil.LogWarning(this, "Unable to get vessel display name for '" + vesselName + "' - ContractVesselTracker is null. This is likely caused by another ScenarioModule crashing, preventing others from loading."); output += vesselName; } first = false; } } else { output += "Any"; } } // If we're complete and a custom title hasn't been provided, try to get a better title if (state == ParameterState.Complete && string.IsNullOrEmpty(title)) { if (ParameterCount == 1) { output = ""; if (trackedVessel != null) { output += "Vessel: " + trackedVessel.vesselName + ": "; } output += GetParameter(0).Title; } } return(output); }
protected void CreateVesselListParameter() { if (vesselList.Any()) { if (vesselList.Count() == 1) { vesselListParam = new ParameterDelegate <Vessel>(hideVesselName ? "" : "Vessel: " + ContractVesselTracker.GetDisplayName(vesselList.First()), v => { bool check = VesselCanBeConsidered(v); if (!hideVesselName) { vesselListParam.SetTitle((FlightGlobals.ActiveVessel == v && trackedVessel != null ? "" : "Tracked ") + "Vessel: " + ContractVesselTracker.GetDisplayName(vesselList.First())); } return(check); }); vesselListParam.Optional = true; vesselListParam.fakeOptional = true; AddParameter(vesselListParam); } else { vesselListParam = new ParameterDelegate <Vessel>(hideVesselName ? "" : "Vessel: Any of the following:", v => { bool check = VesselCanBeConsidered(v); if (!hideVesselName) { vesselListParam.SetTitle("Vessel: Any of the following:" + (check ? " " + ParameterDelegate <Vessel> .GetDelegateText(vesselListParam) : "")); } return(check); }); vesselListParam.Optional = true; vesselListParam.fakeOptional = true; foreach (string vessel in vesselList) { ContractParameter childParam = new ParameterDelegate <Vessel>(ContractVesselTracker.GetDisplayName(vessel), v => false); vesselListParam.AddParameter(childParam); } AddParameter(vesselListParam); } } }
protected void CreateDelegates() { foreach (string vessel in vessels) { AddParameter(new ParameterDelegate <string>("Target: " + (ContractVesselTracker.Instance != null ? ContractVesselTracker.GetDisplayName(vessel) : vessel), ignored => CheckTargetDestroyed(vessel), ParameterDelegateMatchType.VALIDATE_ALL, true)); } }