Laid groundwork for tutorial, changed map storage
This commit is contained in:
@@ -1,60 +1,48 @@
|
||||
package io.anuke.mindustry.ui;
|
||||
|
||||
import static io.anuke.mindustry.Vars.maps;
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.world.Map;
|
||||
import io.anuke.mindustry.world.World;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.scene.ui.*;
|
||||
import io.anuke.ucore.scene.ui.ButtonGroup;
|
||||
import io.anuke.ucore.scene.ui.Dialog;
|
||||
import io.anuke.ucore.scene.ui.ImageButton;
|
||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||
|
||||
public class LevelDialog extends Dialog{
|
||||
Label[] scores = new Label[maps.length];
|
||||
private int selectedMap;
|
||||
private Map selectedMap = Map.delta;
|
||||
|
||||
public LevelDialog(){
|
||||
super("Level Select");
|
||||
setup();
|
||||
|
||||
shown(()->{
|
||||
for(int i = 0; i < maps.length; i ++)
|
||||
scores[i].setText("High Score: [lime]" + Settings.getInt("hiscore"+maps[i]));
|
||||
});
|
||||
}
|
||||
|
||||
void setup(){
|
||||
addCloseButton();
|
||||
getButtonTable().addButton("Play", ()->{
|
||||
hide();
|
||||
Vars.ui.showLoading();
|
||||
Timers.run(16, ()->{
|
||||
Vars.control.reset();
|
||||
World.loadMap(selectedMap);
|
||||
Vars.control.play();
|
||||
});
|
||||
|
||||
Timers.run(18, ()->{
|
||||
Vars.ui.hideLoading();
|
||||
});
|
||||
Vars.control.playMap(selectedMap);
|
||||
}).pad(3).size(180, 44).units(Unit.dp);
|
||||
|
||||
ButtonGroup<ImageButton> mapgroup = new ButtonGroup<>();
|
||||
|
||||
for(int i = 0; i < maps.length; i ++){
|
||||
content().add(maps[i]);
|
||||
for(Map map : Map.values()){
|
||||
if(!map.visible) continue;
|
||||
|
||||
content().add(map.name());
|
||||
}
|
||||
|
||||
content().row();
|
||||
|
||||
for(int i = 0; i < maps.length; i ++){
|
||||
int index = i;
|
||||
ImageButton image = new ImageButton(new TextureRegion(World.getTexture(i)), "togglemap");
|
||||
for(Map map : Map.values()){
|
||||
if(!map.visible) continue;
|
||||
|
||||
ImageButton image = new ImageButton(new TextureRegion(World.getTexture(map)), "togglemap");
|
||||
mapgroup.add(image);
|
||||
image.clicked(()->{
|
||||
selectedMap = index;
|
||||
selectedMap = map;
|
||||
});
|
||||
image.getImageCell().size(Unit.dp.inPixels(164));
|
||||
content().add(image).size(Unit.dp.inPixels(180));
|
||||
@@ -62,9 +50,10 @@ public class LevelDialog extends Dialog{
|
||||
|
||||
content().row();
|
||||
|
||||
for(int i = 0; i < maps.length; i ++){
|
||||
scores[i] = new Label("");
|
||||
content().add(scores[i]);
|
||||
for(Map map : Map.values()){
|
||||
if(!map.visible) continue;
|
||||
|
||||
content().add(()->"High Score: [lime]" + Settings.getInt("hiscore" + map.name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import io.anuke.ucore.scene.ui.Label;
|
||||
import io.anuke.ucore.scene.ui.TextButton;
|
||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||
|
||||
//TODO unified save/load dialogs
|
||||
public class LoadDialog extends Dialog{
|
||||
|
||||
public LoadDialog() {
|
||||
|
||||
@@ -11,6 +11,7 @@ import io.anuke.ucore.scene.ui.*;
|
||||
import io.anuke.ucore.scene.ui.layout.Cell;
|
||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||
|
||||
//TODO unified save/load dialogs
|
||||
public class SaveDialog extends Dialog{
|
||||
|
||||
public SaveDialog() {
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.badlogic.gdx.graphics.Color;
|
||||
|
||||
import io.anuke.mindustry.GameState;
|
||||
import io.anuke.mindustry.GameState.State;
|
||||
import io.anuke.mindustry.Inventory;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.resource.ItemStack;
|
||||
import io.anuke.mindustry.resource.Weapon;
|
||||
import io.anuke.ucore.core.Draw;
|
||||
@@ -58,7 +58,7 @@ public class UpgradeDialog extends Dialog{
|
||||
if(control.hasWeapon(weapon)){
|
||||
button.setDisabled(true);
|
||||
button.setColor(Color.GRAY);
|
||||
}else if(!Inventory.hasItems(weapon.requirements)){
|
||||
}else if(!Vars.control.hasItems(weapon.requirements)){
|
||||
button.setDisabled(true);
|
||||
}else{
|
||||
button.setDisabled(false);
|
||||
@@ -92,7 +92,7 @@ public class UpgradeDialog extends Dialog{
|
||||
ItemStack[] req = weapon.requirements;
|
||||
for(ItemStack s : req){
|
||||
|
||||
int amount = Math.min(Inventory.getAmount(s.item), s.amount);
|
||||
int amount = Math.min(Vars.control.getAmount(s.item), s.amount);
|
||||
reqtable.addImage(Draw.region("icon-" + s.item.name())).padRight(3).size(8*2);
|
||||
reqtable.add(
|
||||
(amount >= s.amount ? "" : "[RED]")
|
||||
@@ -123,7 +123,7 @@ public class UpgradeDialog extends Dialog{
|
||||
button.clicked(()->{
|
||||
if(button.isDisabled()) return;
|
||||
|
||||
Inventory.removeItems(weapon.requirements);
|
||||
Vars.control.removeItems(weapon.requirements);
|
||||
control.addWeapon(weapon);
|
||||
ui.updateWeapons();
|
||||
run.listen();
|
||||
|
||||
Reference in New Issue
Block a user