More campaign tweaks
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -87,7 +87,7 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
node(bridgeConduit);
|
node(bridgeConduit);
|
||||||
|
|
||||||
node(pulseConduit, () -> {
|
node(pulseConduit, Seq.with(new SectorComplete(windsweptIslands)), () -> {
|
||||||
node(phaseConduit, () -> {
|
node(phaseConduit, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -114,7 +114,7 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
|
|
||||||
node(laserDrill, () -> {
|
node(laserDrill, () -> {
|
||||||
node(blastDrill, () -> {
|
node(blastDrill, Seq.with(new SectorComplete(nuclearComplex)), () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -143,8 +143,8 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node(plastaniumCompressor, () -> {
|
node(plastaniumCompressor, Seq.with(new SectorComplete(windsweptIslands)), () -> {
|
||||||
node(phaseWeaver, () -> {
|
node(phaseWeaver, Seq.with(new SectorComplete(tarFields)), () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ public class SectorInfo{
|
|||||||
public float secondsPassed;
|
public float secondsPassed;
|
||||||
/** Display name. */
|
/** Display name. */
|
||||||
public @Nullable String name;
|
public @Nullable String name;
|
||||||
|
/** Displayed icon. */
|
||||||
|
public @Nullable String icon;
|
||||||
/** Version of generated waves. When it doesn't match, new waves are generated. */
|
/** Version of generated waves. When it doesn't match, new waves are generated. */
|
||||||
public int waveVersion = -1;
|
public int waveVersion = -1;
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,13 @@ import arc.func.*;
|
|||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
|
import arc.scene.style.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.game.Saves.*;
|
import mindustry.game.Saves.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.g3d.PlanetGrid.*;
|
import mindustry.graphics.g3d.PlanetGrid.*;
|
||||||
import mindustry.world.modules.*;
|
import mindustry.world.modules.*;
|
||||||
|
|
||||||
@@ -119,6 +121,11 @@ public class Sector{
|
|||||||
saveInfo();
|
saveInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public TextureRegionDrawable icon(){
|
||||||
|
return info.icon == null ? null : Icon.icons.get(info.icon);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isCaptured(){
|
public boolean isCaptured(){
|
||||||
return save != null && !info.waves;
|
return save != null && !info.waves;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package mindustry.ui.dialogs;
|
|||||||
|
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.input.*;
|
|
||||||
import arc.scene.ui.*;
|
import arc.scene.ui.*;
|
||||||
import arc.scene.ui.layout.*;
|
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
|
|
||||||
@@ -19,28 +17,24 @@ public class PaletteDialog extends Dialog{
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void build(){
|
private void build(){
|
||||||
Table table = new Table();
|
cont.table(table -> {
|
||||||
cont.add(table);
|
for(int i = 0; i < playerColors.length; i++){
|
||||||
|
Color color = playerColors[i];
|
||||||
|
|
||||||
for(int i = 0; i < playerColors.length; i++){
|
ImageButton button = table.button(Tex.whiteui, Styles.clearTogglei, 34, () -> {
|
||||||
Color color = playerColors[i];
|
cons.get(color);
|
||||||
|
hide();
|
||||||
|
}).size(48).get();
|
||||||
|
button.setChecked(player.color().equals(color));
|
||||||
|
button.getStyle().imageUpColor = color;
|
||||||
|
|
||||||
ImageButton button = table.button(Tex.whiteui, Styles.clearTogglei, 34, () -> {
|
if(i % 4 == 3){
|
||||||
cons.get(color);
|
table.row();
|
||||||
hide();
|
}
|
||||||
}).size(48).get();
|
|
||||||
button.setChecked(player.color().equals(color));
|
|
||||||
button.getStyle().imageUpColor = color;
|
|
||||||
|
|
||||||
if(i % 4 == 3){
|
|
||||||
table.row();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
keyDown(key -> {
|
|
||||||
if(key == KeyCode.escape || key == KeyCode.back) hide();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
closeOnBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void show(Cons<Color> cons){
|
public void show(Cons<Color> cons){
|
||||||
|
|||||||
@@ -218,7 +218,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
|
|
||||||
for(Sector sec : planet.sectors){
|
for(Sector sec : planet.sectors){
|
||||||
if(sec != hovered){
|
if(sec != hovered){
|
||||||
var icon = (sec.isAttacked() ? Icon.warning : !sec.hasBase() && sec.preset != null && sec.preset.unlocked() ? Icon.terrain : null);
|
var preficon = sec.icon();
|
||||||
|
var icon = (sec.isAttacked() ? Icon.warning : !sec.hasBase() && sec.preset != null && sec.preset.unlocked() && preficon == null ? Icon.terrain : preficon);
|
||||||
var color = sec.preset != null && !sec.hasBase() ? Team.derelict.color : Team.sharded.color;
|
var color = sec.preset != null && !sec.hasBase() ? Team.derelict.color : Team.sharded.color;
|
||||||
|
|
||||||
if(icon != null){
|
if(icon != null){
|
||||||
@@ -236,10 +237,10 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
planets.drawPlane(hovered, () -> {
|
planets.drawPlane(hovered, () -> {
|
||||||
Draw.color(hovered.isAttacked() ? Pal.remove : Color.white, Pal.accent, Mathf.absin(5f, 1f));
|
Draw.color(hovered.isAttacked() ? Pal.remove : Color.white, Pal.accent, Mathf.absin(5f, 1f));
|
||||||
|
|
||||||
TextureRegion icon = hovered.locked() && !canSelect(hovered) ? Icon.lock.getRegion() : hovered.isAttacked() ? Icon.warning.getRegion() : null;
|
var icon = hovered.locked() && !canSelect(hovered) ? Icon.lock : hovered.isAttacked() ? Icon.warning : hovered.icon();
|
||||||
|
|
||||||
if(icon != null){
|
if(icon != null){
|
||||||
Draw.rect(icon, 0, 0);
|
Draw.rect(icon.getRegion(), 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
@@ -378,6 +379,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
stable.table(title -> {
|
stable.table(title -> {
|
||||||
title.add("[accent]" + sector.name());
|
title.add("[accent]" + sector.name());
|
||||||
if(sector.preset == null){
|
if(sector.preset == null){
|
||||||
|
title.add().growX();
|
||||||
|
|
||||||
title.button(Icon.pencilSmall, Styles.clearPartiali, () -> {
|
title.button(Icon.pencilSmall, Styles.clearPartiali, () -> {
|
||||||
ui.showTextInput("@sectors.rename", "@name", 20, sector.name(), v -> {
|
ui.showTextInput("@sectors.rename", "@name", 20, sector.name(), v -> {
|
||||||
sector.setName(v);
|
sector.setName(v);
|
||||||
@@ -385,6 +388,40 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
});
|
});
|
||||||
}).size(40f).padLeft(4);
|
}).size(40f).padLeft(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var icon = Icon.icons.get(sector.info.icon + "Small");
|
||||||
|
|
||||||
|
title.button(icon == null ? Icon.noneSmall : icon, Styles.clearPartiali, () -> {
|
||||||
|
new Dialog(""){{
|
||||||
|
closeOnBack();
|
||||||
|
setFillParent(true);
|
||||||
|
cont.pane(t -> {
|
||||||
|
t.defaults().size(48);
|
||||||
|
|
||||||
|
t.button(Icon.none, Styles.clearTogglei, () -> {
|
||||||
|
sector.info.icon = null;
|
||||||
|
sector.saveInfo();
|
||||||
|
hide();
|
||||||
|
updateSelected();
|
||||||
|
}).checked(sector.info.icon == null);
|
||||||
|
|
||||||
|
int i = 1;
|
||||||
|
for(var entry : Icon.icons.entries()){
|
||||||
|
if(entry.key.endsWith("Small") || entry.key.contains("none")) continue;
|
||||||
|
String key = entry.key;
|
||||||
|
|
||||||
|
t.button(entry.value, Styles.cleari, () -> {
|
||||||
|
sector.info.icon = key;
|
||||||
|
sector.saveInfo();
|
||||||
|
hide();
|
||||||
|
updateSelected();
|
||||||
|
}).checked(entry.key.equals(sector.info.icon));
|
||||||
|
|
||||||
|
if(++i % 8 == 0) t.row();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}}.show();
|
||||||
|
}).size(40f);
|
||||||
}).row();
|
}).row();
|
||||||
|
|
||||||
stable.image().color(Pal.accent).fillX().height(3f).pad(3f).row();
|
stable.image().color(Pal.accent).fillX().height(3f).pad(3f).row();
|
||||||
|
|||||||
Reference in New Issue
Block a user