Fixed no-wave FPS display / Fixed unit pad inventories

This commit is contained in:
Anuken
2018-08-01 22:14:43 -04:00
parent 5206079e23
commit c05020e28e
4 changed files with 24 additions and 11 deletions

View File

@@ -14,7 +14,7 @@ public class UnitBlocks extends BlockList implements ContentList{
@Override
public void load(){
dronePad = new UnitFactory("drone-pad"){{
dronePad = new UnitPad("drone-pad"){{
type = UnitTypes.drone;
produceTime = 800;
size = 2;
@@ -22,7 +22,7 @@ public class UnitBlocks extends BlockList implements ContentList{
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)});
}};
fabricatorPad = new UnitFactory("fabricator-pad"){{
fabricatorPad = new UnitPad("fabricator-pad"){{
type = UnitTypes.fabricator;
produceTime = 1600;
size = 2;
@@ -30,7 +30,7 @@ public class UnitBlocks extends BlockList implements ContentList{
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 70), new ItemStack(Items.lead, 80), new ItemStack(Items.titanium, 80)});
}};
interceptorPad = new UnitFactory("interceptor-pad"){{
interceptorPad = new UnitPad("interceptor-pad"){{
type = UnitTypes.interceptor;
produceTime = 1300;
size = 2;
@@ -38,7 +38,7 @@ public class UnitBlocks extends BlockList implements ContentList{
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 40)});
}};
monsoonPad = new UnitFactory("monsoon-pad"){{
monsoonPad = new UnitPad("monsoon-pad"){{
type = UnitTypes.monsoon;
produceTime = 1400;
size = 3;

View File

@@ -24,7 +24,7 @@ import io.anuke.mindustry.type.ItemStack;
import io.anuke.mindustry.type.Weapon;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity;
import io.anuke.mindustry.world.blocks.units.UnitFactory.UnitFactoryEntity;
import io.anuke.mindustry.world.blocks.units.UnitPad.UnitFactoryEntity;
import io.anuke.mindustry.world.meta.BlockFlag;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers;

View File

@@ -97,7 +97,7 @@ public class HudFragment extends Fragment{
cont.row();
cont.table(this::addWaveTable).touchable(Touchable.enabled).fillX().height(66f);
Table waves = cont.table(this::addWaveTable).touchable(Touchable.enabled).fillX().height(66f).get();
cont.row();
@@ -112,7 +112,9 @@ public class HudFragment extends Fragment{
if(Net.hasClient()){
t.label(() -> ping.get(Net.getPing())).visible(() -> Net.client() && !gwt).colspan(2);
}
}).size(-1).visible(() -> Settings.getBool("fps")).get();
}).size(-1).visible(() -> Settings.getBool("fps")).update(t -> {
t.setTranslation(0, state.mode.disableWaves ? waves.getHeight() : 0);
}).get();
//make wave box appear below rest of menu
cont.swapActor(wavetable, menu.getParent());

View File

@@ -34,19 +34,20 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class UnitFactory extends Block{
public class UnitPad extends Block{
protected UnitType type;
protected float produceTime = 1000f;
protected float openDuration = 50f;
protected float launchVelocity = 0f;
protected String unitRegion;
public UnitFactory(String name){
public UnitPad(String name){
super(name);
update = true;
hasPower = true;
hasItems = true;
solidifes = true;
itemCapacity = 10;
consumes.require(ConsumeItems.class);
}
@@ -54,7 +55,7 @@ public class UnitFactory extends Block{
@Remote(called = Loc.server)
public static void onUnitFactorySpawn(Tile tile){
UnitFactoryEntity entity = tile.entity();
UnitFactory factory = (UnitFactory) tile.block();
UnitPad factory = (UnitPad) tile.block();
entity.buildTime = 0f;
entity.hasSpawned = true;
@@ -188,13 +189,23 @@ public class UnitFactory extends Block{
@Override
public boolean acceptItem(Item item, Tile tile, Tile source){
for(ItemStack stack : consumes.items()){
if(item == stack.item && tile.entity.items.get(item) <= stack.amount * 2){
if(item == stack.item && tile.entity.items.get(item) < stack.amount * 2){
return true;
}
}
return false;
}
@Override
public int getMaximumAccepted(Tile tile, Item item){
for(ItemStack stack : consumes.items()){
if(item == stack.item){
return stack.amount * 2;
}
}
return 0;
}
@Override
public TileEntity getEntity(){
return new UnitFactoryEntity();