Merge pull request #45 from Tener/patch-1

Implement queues for inbound resources
This commit is contained in:
Anuken
2018-01-02 12:33:13 -05:00
committed by GitHub
@@ -1,20 +1,25 @@
package io.anuke.mindustry.world.blocks.types.production; package io.anuke.mindustry.world.blocks.types.production;
import java.util.Arrays;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.graphics.Fx;
import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Item;
import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects;
import java.util.Arrays;
public class Crafter extends Block{ public class Crafter extends Block{
protected final int timerDump = timers++; protected final int timerDump = timers++;
protected Item[] requirements; protected Item[] requirements;
protected Item result; protected Item result;
int capacity = 20;
public Crafter(String name) { public Crafter(String name) {
super(name); super(name);
update = true; update = true;
@@ -26,6 +31,7 @@ public class Crafter extends Block{
super.getStats(list); super.getStats(list);
list.add("[craftinfo]Input: " + Arrays.toString(requirements)); list.add("[craftinfo]Input: " + Arrays.toString(requirements));
list.add("[craftinfo]Output: " + result); list.add("[craftinfo]Output: " + result);
list.add("[craftinfo]Capacity per input type: " + capacity);
} }
@Override @Override
@@ -53,9 +59,16 @@ public class Crafter extends Block{
public boolean acceptItem(Item item, Tile dest, Tile source){ public boolean acceptItem(Item item, Tile dest, Tile source){
for(Item req : requirements){ for(Item req : requirements){
if(item == req){ if(item == req){
return true; return dest.entity.getItem(item) < capacity;
} }
} }
return false; return false;
} }
@Override
public void drawSelect(Tile tile){
float fract = (float)tile.entity.totalItems()/((requirements.length-1) *capacity);
Vars.renderer.drawBar(Color.GREEN, tile.worldx(), tile.worldy() + 6, fract);
}
} }