This commit is contained in:
Anuken
2019-02-11 09:02:28 -05:00
parent 52593252c5
commit 51ba999ee1
7 changed files with 27 additions and 19 deletions
@@ -32,7 +32,7 @@ public class GlobalData{
if(value < wave){ if(value < wave){
Core.settings.put(zone.name + "-wave", wave); Core.settings.put(zone.name + "-wave", wave);
modified = true; modified = true;
if(wave > zone.conditionWave){ if(wave == zone.conditionWave + 1){
Events.fire(new ZoneCompleteEvent(zone)); Events.fire(new ZoneCompleteEvent(zone));
} }
} }
@@ -18,7 +18,6 @@ import io.anuke.arc.math.geom.Rectangle;
import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.math.geom.Vector2;
import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Table;
import io.anuke.arc.util.Align; import io.anuke.arc.util.Align;
import io.anuke.arc.util.Log;
import io.anuke.arc.util.Time; import io.anuke.arc.util.Time;
import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.content.Blocks;
import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.content.Fx;
@@ -340,7 +339,6 @@ public class MobileInput extends InputHandler implements GestureListener{
//draw placing //draw placing
if(mode == placing && block != null){ if(mode == placing && block != null){
Log.info(Core.input.mouseY());
NormalizeDrawResult dresult = PlaceUtils.normalizeDrawArea(block, lineStartX, lineStartY, tileX, tileY, true, maxLength, lineScale); NormalizeDrawResult dresult = PlaceUtils.normalizeDrawArea(block, lineStartX, lineStartY, tileX, tileY, true, maxLength, lineScale);
Lines.rect(dresult.x, dresult.y, dresult.x2 - dresult.x, dresult.y2 - dresult.y); Lines.rect(dresult.x, dresult.y, dresult.x2 - dresult.x, dresult.y2 - dresult.y);
+5 -4
View File
@@ -32,7 +32,7 @@ public class Bar extends Element{
public Bar(Supplier<String> name, Supplier<Color> color, FloatProvider fraction){ public Bar(Supplier<String> name, Supplier<Color> color, FloatProvider fraction){
this.fraction = fraction; this.fraction = fraction;
lastValue = value = fraction.get(); lastValue = value = Mathf.clamp(fraction.get());
update(() -> { update(() -> {
this.name = name.get(); this.name = name.get();
this.blinkColor.set(color.get()); this.blinkColor.set(color.get());
@@ -47,13 +47,14 @@ public class Bar extends Element{
@Override @Override
public void draw(){ public void draw(){
if(!Mathf.isEqual(lastValue, fraction.get())){ float computed = Mathf.clamp(fraction.get());
if(!Mathf.isEqual(lastValue, computed)){
blink = 1f; blink = 1f;
lastValue = fraction.get(); lastValue = computed;
} }
blink = Mathf.lerpDelta(blink, 0f, 0.2f); blink = Mathf.lerpDelta(blink, 0f, 0.2f);
value = Mathf.lerpDelta(value, fraction.get(), 0.15f); value = Mathf.lerpDelta(value, computed, 0.15f);
Draw.colorl(0.1f); Draw.colorl(0.1f);
Draw.drawable("bar", x, y, width, height); Draw.drawable("bar", x, y, width, height);
@@ -211,8 +211,8 @@ public class TechTreeDialog extends FloatingDialog{
list.left(); list.left();
list.addImage(req.item.getContentIcon()).size(8 * 3).padRight(3); list.addImage(req.item.getContentIcon()).size(8 * 3).padRight(3);
list.add(req.item.localizedName()).color(Color.LIGHT_GRAY); list.add(req.item.localizedName()).color(Color.LIGHT_GRAY);
list.add(" " + Math.min(data.getItem(req.item), req.amount) + " / " + req.amount) list.label(() -> " " + Math.min(data.getItem(req.item), req.amount) + " / " + req.amount)
.color(data.has(req.item, req.amount) ? Color.LIGHT_GRAY : Color.SCARLET); .update(l -> l.setColor(data.has(req.item, req.amount) ? Color.LIGHT_GRAY : Color.SCARLET));
}).fillX().left(); }).fillX().left();
t.row(); t.row();
} }
@@ -226,7 +226,8 @@ public class HudFragment extends Fragment{
world.isZone() && world.isZone() &&
world.getZone().metCondition() && world.getZone().metCondition() &&
!Net.client() && !Net.client() &&
state.wave % world.getZone().launchPeriod == 0); state.wave % world.getZone().launchPeriod == 0 &&
state.wavetime < state.rules.waveSpacing - 70);
button.update(() -> { button.update(() -> {
if(world.getZone() == null){ if(world.getZone() == null){
+14 -8
View File
@@ -6,6 +6,7 @@ import io.anuke.arc.Graphics.Cursor.SystemCursor;
import io.anuke.arc.collection.Array; import io.anuke.arc.collection.Array;
import io.anuke.arc.collection.EnumSet; import io.anuke.arc.collection.EnumSet;
import io.anuke.arc.function.BooleanProvider; import io.anuke.arc.function.BooleanProvider;
import io.anuke.arc.function.Supplier;
import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Color;
import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.Lines;
@@ -16,22 +17,20 @@ import io.anuke.arc.util.Log;
import io.anuke.arc.util.Strings; import io.anuke.arc.util.Strings;
import io.anuke.arc.util.Time; import io.anuke.arc.util.Time;
import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Damage;
import io.anuke.mindustry.entities.type.Player;
import io.anuke.mindustry.entities.type.TileEntity;
import io.anuke.mindustry.entities.type.Unit;
import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.bullet.Bullet;
import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.entities.effect.Puddle;
import io.anuke.mindustry.entities.effect.RubbleDecal; import io.anuke.mindustry.entities.effect.RubbleDecal;
import io.anuke.mindustry.entities.type.Player;
import io.anuke.mindustry.entities.type.TileEntity;
import io.anuke.mindustry.entities.type.Unit;
import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.game.UnlockableContent;
import io.anuke.mindustry.graphics.CacheLayer; import io.anuke.mindustry.graphics.CacheLayer;
import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Layer;
import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.graphics.Pal;
import io.anuke.mindustry.type.Category; import io.anuke.mindustry.type.*;
import io.anuke.mindustry.type.ContentType;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.type.ItemStack;
import io.anuke.mindustry.ui.Bar; import io.anuke.mindustry.ui.Bar;
import io.anuke.mindustry.ui.ContentDisplay; import io.anuke.mindustry.ui.ContentDisplay;
import io.anuke.mindustry.world.consumers.ConsumeLiquid;
import io.anuke.mindustry.world.consumers.ConsumePower; import io.anuke.mindustry.world.consumers.ConsumePower;
import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockFlag;
import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockGroup;
@@ -487,7 +486,14 @@ public class Block extends BlockStorage{
bars.row(); bars.row();
if(entity.liquids != null){ if(entity.liquids != null){
bars.add(new Bar(() -> entity.liquids.get(entity.liquids.current()) <= 0.001f ? Core.bundle.get("blocks.liquid") : entity.liquids.current().localizedName(), () -> entity.liquids.current().color, () -> entity.liquids.total() / liquidCapacity)).growX(); Supplier<Liquid> current;
if(consumes.has(ConsumeLiquid.class)){
Liquid liquid = consumes.liquid();
current = () -> liquid;
}else{
current = () -> entity.liquids.current();
}
bars.add(new Bar(() -> entity.liquids.get(current.get()) <= 0.001f ? Core.bundle.get("blocks.liquid") : current.get().localizedName(), () -> current.get().color, () -> entity.liquids.get(current.get()) / liquidCapacity)).growX();
bars.row(); bars.row();
} }
@@ -237,12 +237,14 @@ public class PowerGraph{
} }
} }
//currently ignores all other values and consumes power anyway.
private boolean otherConsumersAreValid(Tile tile, Consume consumePower){ private boolean otherConsumersAreValid(Tile tile, Consume consumePower){
/*
for(Consume cons : tile.block().consumes.all()){ for(Consume cons : tile.block().consumes.all()){
if(cons != consumePower && !cons.isOptional() && !cons.valid(tile.block(), tile.entity())){ if(cons != consumePower && !cons.isOptional() && !cons.valid(tile.block(), tile.entity())){
return false; return false;
} }
} }*/
return true; return true;
} }