[#1617] Set stage with no children as inactive

This commit is contained in:
SiboVG 2022-09-19 09:24:38 +02:00
parent ac5ee7537a
commit 6585e07140

View File

@ -241,8 +241,10 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
if( -1 == stageNumber ) { if( -1 == stageNumber ) {
return true; return true;
} }
return stages.get(stageNumber) != null && stages.get(stageNumber).active; AxialStage stage = rocket.getStage(stageNumber);
return stage != null && stage.getChildCount() > 0 &&
stages.get(stageNumber) != null && stages.get(stageNumber).active;
} }
public Collection<RocketComponent> getAllComponents() { public Collection<RocketComponent> getAllComponents() {
@ -379,12 +381,8 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
List<AxialStage> activeStages = new ArrayList<>(); List<AxialStage> activeStages = new ArrayList<>();
for (StageFlags flags : this.stages.values()) { for (StageFlags flags : this.stages.values()) {
if (flags.active) { if (isStageActive(flags.stageNumber)) {
AxialStage stage = rocket.getStage(flags.stageNumber); activeStages.add( rocket.getStage(flags.stageNumber));
if (stage == null) {
continue;
}
activeStages.add(stage);
} }
} }
@ -392,13 +390,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
} }
public int getActiveStageCount() { public int getActiveStageCount() {
int activeCount = 0; return getActiveStages().size();
for (StageFlags cur : this.stages.values()) {
if (cur.active) {
activeCount++;
}
}
return activeCount;
} }
/** /**