Dynamic selection of planet tech in rules dialog (#8487)

* Dynamic selection of planets in rules dialog

* Code cleanup

* Do not let Anuken/Mindustry#8494 happen again

* Fixed inconsistency with campaign sectors
This commit is contained in:
Slotterleet
2023-06-02 17:41:12 +02:00
committed by GitHub
parent 4e0e48ea32
commit 38b9027000
4 changed files with 13 additions and 9 deletions

View File

@@ -249,15 +249,14 @@ public class CustomRulesDialog extends BaseDialog{
t.defaults().size(140f, 50f);
//TODO dynamic selection of planets
for(Planet planet : new Planet[]{Planets.serpulo, Planets.erekir}){
for(Planet planet : content.planets().select(p -> p.accessible && p.visible && p.isLandable())){
t.button(planet.localizedName, style, () -> {
rules.env = planet.defaultEnv;
rules.attributes.clear();
rules.attributes.add(planet.defaultAttributes);
rules.hiddenBuildItems.clear();
rules.hiddenBuildItems.addAll(planet.hiddenItems);
}).group(group).checked(b -> rules.env == planet.defaultEnv);
planet.applyRules(rules);
}).group(group).checked(b -> rules.planet == planet);
if(t.getChildren().size % 3 == 0){
t.row();
}
}
t.button("@rules.anyenv", style, () -> {
@@ -267,8 +266,9 @@ public class CustomRulesDialog extends BaseDialog{
}else{
rules.env = Vars.defaultEnv;
rules.hiddenBuildItems.clear();
rules.planet = Planets.sun;
}
}).group(group).checked(b -> rules.hiddenBuildItems.size == 0);
}).group(group).checked(b -> rules.planet == Planets.sun);
}).left().fill(false).expand(false, false).row();
title("@rules.title.teams");