public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var anyCrew = CrewInSection(sectionParts).Any();
     var hasAnyComms = sectionParts.AnyHasModule<ModuleDataTransmitter>();
     var hasScienceModules = sectionParts.AnyHasModule<ModuleScienceExperiment>();
     return !hasScienceModules || anyCrew || hasAnyComms;
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var hasLights = sectionParts.AnyHasModule<ModuleLight>();
     var hasLandingLegs = sectionParts.AnyHasModule<ModuleLandingLeg>() || sectionParts.AnyHasModule<ModuleLandingGear>()
                          || sectionParts.AnyHasModule<ModuleLandingGearFixed>();
     return !hasLandingLegs || hasLights;
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var hasPilots = CrewInSection(sectionParts).Any(pair => pair.Key.experienceTrait.TypeName == "Pilot"
                                                                 && pair.Value.HasModule<ModuleCommand>());
     var hasSas = sectionParts.AnyHasModule<ModuleSAS>();
     var hasReactionWheels = sectionParts.AnyHasModule<ModuleReactionWheel>();
     return (hasPilots || hasSas) && hasReactionWheels;
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var activeRadiators = sectionParts.AnyHasModule<ModuleActiveRadiator>() || sectionParts.AnyHasModule<ModuleDeployableRadiator>();
     if (activeRadiators) return true;
     var highHeatParts = sectionParts.Where(part => part.radiatorMax > defaultRadiationVal);
     var anyHighHeatNoRadiators = highHeatParts.Any(part => !part.children.Any(child => child.name.StartsWith("radPanel")));
     return anyHighHeatNoRadiators;
 }
Пример #5
0
        public override bool TestCondition(IEnumerable <Part> sectionParts)
        {
            var hasPilots = CrewInSection(sectionParts).Any(pair => pair.Key.experienceTrait.TypeName == "Pilot" &&
                                                            pair.Value.HasModule <ModuleCommand>());
            var hasSas            = sectionParts.AnyHasModule <ModuleSAS>();
            var hasReactionWheels = sectionParts.AnyHasModule <ModuleReactionWheel>();

            return((hasPilots || hasSas) && hasReactionWheels);
        }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     if (sectionParts.AnyHasModule<ModuleGenerator>()) return true;
     var solarPanels = sectionParts.SelectMany(part => part.FindModulesImplementing<ModuleDeployableSolarPanel>());
     if (solarPanels.Any(panel => !panel.sunTracking)) return true;
     return false;
 }
Пример #7
0
        public override bool TestCondition(IEnumerable <Part> sectionParts)
        {
            var activeRadiators = sectionParts.AnyHasModule <ModuleActiveRadiator>() || sectionParts.AnyHasModule <ModuleDeployableRadiator>();

            if (activeRadiators)
            {
                return(true);
            }
            var highHeatParts          = sectionParts.Where(part => part.radiatorMax > defaultRadiationVal);
            var anyHighHeatNoRadiators = highHeatParts.Any(part => !part.children.Any(child => child.name.StartsWith("radPanel")));

            return(anyHighHeatNoRadiators);
        }
        public override bool TestCondition(IEnumerable <Part> sectionParts)
        {
            if (sectionParts.AnyHasModule <ModuleGenerator>())
            {
                return(true);
            }
            var solarPanels = sectionParts.SelectMany(part => part.FindModulesImplementing <ModuleDeployableSolarPanel>());

            if (solarPanels.Any(panel => !panel.isTracking))
            {
                return(true);
            }
            return(false);
        }
Пример #9
0
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts) =>
 sectionParts.AnyHasModule <ModuleScienceExperiment>() && sectionParts.IsProbeControlled();
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return sectionParts.AnyHasModule<TagWeaponsManager>();
 }
Пример #11
0
 protected internal override bool IsApplicable(IEnumerable <Part> currentVesselParts) => currentVesselParts.AnyHasModule <ModuleCommand>();
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var hasLab = sectionParts.AnyHasModule<ModuleScienceConverter>() && sectionParts.AnyHasModule<ModuleScienceLab>();
     var hasScientist = CrewInSection(sectionParts).Keys.Any(crew => crew.experienceTrait.TypeName == "Scientist");
     return !hasLab || hasScientist;
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     var hasAnyComms = sectionParts.AnyHasModule<ModuleDataTransmitter>();
     return hasAnyComms;
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return sectionParts.AnyHasModule<ModuleControlSurface>();
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts) =>
     sectionParts.AnyHasModule<ModuleLandingLeg>() || sectionParts.AnyHasModule<ModuleLandingGear>()
                          || sectionParts.AnyHasModule<ModuleLandingGearFixed>();
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.SelectMany(part => part.FindModulesImplementing <ModuleDeployableSolarPanel>()).All(panel => panel.isTracking) &&
            sectionParts.AnyHasModule <ModuleDeployableSolarPanel>());
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return CrewInSection(sectionParts).Any() || sectionParts.AnyHasModule<ModuleRTAntenna>();
 }
Пример #18
0
 public override bool TestCondition(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.AnyHasModule <TagModules.TagAdvancedFlightComputer>());
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return sectionParts.IsProbeControlled() || sectionParts.AnyHasModule<TagAntenna>();
 }
Пример #20
0
        // || sectionParts.AnyHasModule<ModuleLandingGearFixed>();

        public override bool TestCondition(IEnumerable <Part> sectionParts) => sectionParts.AnyHasModule <ModuleLight>();
Пример #21
0
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts) =>
 sectionParts.AnyHasModule <ModuleWheelBase>() || sectionParts.AnyHasModule <ModuleWheelBase>();
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts)
 {
     return sectionParts.AnyHasModule<TagWeapons>();
 }
Пример #23
0
        public override bool TestCondition(IEnumerable <Part> sectionParts)
        {
            var hasAnyComms = sectionParts.AnyHasModule <ModuleDataTransmitter>();

            return(hasAnyComms);
        }
Пример #24
0
 public override bool TestCondition(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.AnyHasModule <ModuleControlSurface>());
 }
Пример #25
0
 public override bool TestCondition(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.AnyHasModule <TagFlares>());
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts) => sectionParts.AnyHasModule<ModuleLight>();
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return !sectionParts.AnyHasModule<BDModulePilotAI>() || sectionParts.AnyHasModule<MissileFire>();
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts) =>
     sectionParts.AnyHasModule<ModuleScienceExperiment>() && sectionParts.IsProbeControlled();
 public override bool TestCondition(IEnumerable <Part> sectionParts) => sectionParts.AnyHasModule <TagWeaponsManager>();
Пример #30
0
 public override bool TestCondition(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.IsProbeControlled() || sectionParts.AnyHasModule <TagAntenna>());
 }
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return sectionParts.AnyHasModule<TagFlares>();
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts)
 {
     return sectionParts.SelectMany(part => part.FindModulesImplementing<ModuleDeployableSolarPanel>()).All(panel => panel.sunTracking)
          && sectionParts.AnyHasModule<ModuleDeployableSolarPanel>();
 }
 protected internal override bool IsApplicable(IEnumerable<Part> currentVesselParts) => currentVesselParts.AnyHasModule<ModuleCommand>();
Пример #34
0
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.AnyHasModule <CompoundParts.CModuleStrut>());
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts) =>
     sectionParts.AnyHasModule<ModuleScienceConverter>() || sectionParts.AnyHasModule<ModuleScienceLab>();
Пример #36
0
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts)
 {
     return(sectionParts.AnyHasModule <TagWeaponsManager>());
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts)
 {
     return sectionParts.AnyHasModule<CompoundParts.CModuleStrut>();
 }
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts) => sectionParts.AnyHasModule <TagAutopilot>();
Пример #39
0
 protected internal override bool IsApplicable(IEnumerable <Part> sectionParts) =>
 sectionParts.AnyHasModule <ModuleScienceConverter>() || sectionParts.AnyHasModule <ModuleScienceLab>();
 public override bool TestCondition(IEnumerable<Part> sectionParts)
 {
     return CrewInSection(sectionParts).Any() || sectionParts.AnyHasModule<ISignalProcessor>();
 }
 protected internal override bool IsApplicable(IEnumerable<Part> sectionParts) => sectionParts.AnyHasModule<TagAutopilot>();