Bugfixes / Unit test fix

This commit is contained in:
Anuken
2019-04-23 11:59:07 -04:00
parent 30650efd98
commit 79b0e76be0
13 changed files with 54 additions and 35 deletions
@@ -1,6 +1,5 @@
package io.anuke.mindustry.ui;
import io.anuke.arc.function.Supplier;
import io.anuke.arc.graphics.g2d.TextureRegion;
import io.anuke.arc.scene.ui.Image;
import io.anuke.arc.scene.ui.layout.Stack;
@@ -18,14 +17,6 @@ public class ItemImage extends Stack{
add(t);
}
public ItemImage(TextureRegion region, Supplier<CharSequence> text){
Table t = new Table().left().bottom();
t.label(text).name("item-label");
add(new Image(region));
add(t);
}
public ItemImage(ItemStack stack){
add(new Image(stack.item.icon(Icon.large)));
@@ -10,7 +10,6 @@ import io.anuke.arc.scene.ui.layout.Table;
import io.anuke.arc.util.Align;
import io.anuke.mindustry.content.Blocks;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.input.InputHandler;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
@@ -18,14 +17,9 @@ import static io.anuke.mindustry.Vars.*;
public class BlockConfigFragment extends Fragment{
private Table table = new Table();
private InputHandler input;
private Tile configTile;
private Block configBlock;
public BlockConfigFragment(InputHandler input){
this.input = input;
}
@Override
public void build(Group parent){
table.visible(false);
@@ -5,22 +5,25 @@ import io.anuke.annotations.Annotations.Remote;
import io.anuke.arc.Core;
import io.anuke.arc.collection.IntSet;
import io.anuke.arc.function.BooleanProvider;
import io.anuke.arc.function.Supplier;
import io.anuke.arc.graphics.g2d.TextureRegion;
import io.anuke.arc.input.KeyCode;
import io.anuke.arc.math.Interpolation;
import io.anuke.arc.math.Mathf;
import io.anuke.arc.math.geom.Vector2;
import io.anuke.arc.scene.Element;
import io.anuke.arc.scene.Group;
import io.anuke.arc.scene.actions.Actions;
import io.anuke.arc.scene.event.*;
import io.anuke.arc.scene.ui.Image;
import io.anuke.arc.scene.ui.layout.Stack;
import io.anuke.arc.scene.ui.layout.Table;
import io.anuke.arc.util.*;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.type.Player;
import io.anuke.mindustry.gen.Call;
import io.anuke.mindustry.input.InputHandler;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.type.Item.Icon;
import io.anuke.mindustry.ui.ItemImage;
import io.anuke.mindustry.world.Tile;
import static io.anuke.mindustry.Vars.*;
@@ -30,15 +33,10 @@ public class BlockInventoryFragment extends Fragment{
private Table table;
private Tile tile;
private InputHandler input;
private float holdTime = 0f;
private boolean holding;
private Item lastItem;
public BlockInventoryFragment(InputHandler input){
this.input = input;
}
@Remote(called = Loc.server, targets = Loc.both, forward = true)
public static void requestItem(Player player, Tile tile, Item item, int amount){
if(player == null || tile == null) return;
@@ -133,7 +131,7 @@ public class BlockInventoryFragment extends Fragment{
HandCursorListener l = new HandCursorListener();
l.setEnabled(canPick);
ItemImage image = new ItemImage(item.icon(Icon.xlarge), () -> {
Element image = itemImage(item.icon(Icon.xlarge), () -> {
if(tile == null || tile.entity == null){
return "";
}
@@ -182,9 +180,9 @@ public class BlockInventoryFragment extends Fragment{
private String round(float f){
f = (int)f;
if(f >= 1000000){
return Strings.fixed(f / 1000000f, 1) + "[gray]mil[]";
return (int)(f / 1000000f) + "[gray]mil[]";
}else if(f >= 1000){
return Strings.fixed(f / 1000, 1) + "k";
return (int)(f / 1000) + "k";
}else{
return (int)f + "";
}
@@ -195,4 +193,15 @@ public class BlockInventoryFragment extends Fragment{
table.pack();
table.setPosition(v.x, v.y, Align.topLeft);
}
private Element itemImage(TextureRegion region, Supplier<CharSequence> text){
Stack stack = new Stack();
Table t = new Table().left().bottom();
t.label(text);
stack.add(new Image(region));
stack.add(t);
return stack;
}
}
@@ -34,7 +34,6 @@ public class ChatFragment extends Table{
private BitmapFont font;
private GlyphLayout layout = new GlyphLayout();
private float offsetx = Unit.dp.scl(4), offsety = Unit.dp.scl(4), fontoffsetx = Unit.dp.scl(2), chatspace = Unit.dp.scl(50);
private float textWidth = Unit.dp.scl(600);
private Color shadowColor = new Color(0, 0, 0, 0.4f);
private float textspacing = Unit.dp.scl(10);
private Array<String> history = new Array<>();
@@ -124,6 +123,7 @@ public class ChatFragment extends Table{
@Override
public void draw(){
float opacity = Core.settings.getInt("chatopacity") / 100f;
float textWidth = Math.min(Core.graphics.getWidth()/1.5f, Unit.dp.scl(700f));
Draw.color(shadowColor);
@@ -3,7 +3,7 @@ package io.anuke.mindustry.ui.fragments;
import io.anuke.arc.scene.Group;
import io.anuke.mindustry.input.InputHandler;
/** Fragment for displaying overlays such as block inventories. One is created for each input handler. */
/** Fragment for displaying overlays such as block inventories. */
public class OverlayFragment extends Fragment{
public final BlockInventoryFragment inv;
public final BlockConfigFragment config;
@@ -11,8 +11,8 @@ public class OverlayFragment extends Fragment{
private Group group = new Group();
public OverlayFragment(InputHandler input){
inv = new BlockInventoryFragment(input);
config = new BlockConfigFragment(input);
inv = new BlockInventoryFragment();
config = new BlockConfigFragment();
}
@Override