Merge pull request #45 from Tener/patch-1
Implement queues for inbound resources
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user