Remove canProduce as a method

This commit is contained in:
Anuken
2019-11-05 17:29:19 -05:00
parent 21b7016fb5
commit 3691ab7f8f
10 changed files with 21 additions and 19 deletions

View File

@@ -10,13 +10,11 @@ import io.anuke.arc.math.geom.*;
import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.scene.ui.layout.*;
import io.anuke.arc.util.*; import io.anuke.arc.util.*;
import io.anuke.arc.util.pooling.*; import io.anuke.arc.util.pooling.*;
import io.anuke.mindustry.content.TypeIDs;
import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.io.*; import io.anuke.mindustry.io.*;
import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.*;
import io.anuke.mindustry.ui.dialogs.*;
import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.*;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -151,6 +149,10 @@ public class MinimapRenderer implements Disposable{
private int colorFor(Tile tile){ private int colorFor(Tile tile){
if(tile == null) return 0; if(tile == null) return 0;
tile = tile.link(); tile = tile.link();
int bc = tile.block().minimapColor(tile);
if(bc != 0){
return bc;
}
return Tmp.c1.set(MapIO.colorFor(tile.floor(), tile.block(), tile.overlay(), tile.getTeam())).mul(tile.block().cacheLayer == CacheLayer.walls ? 1f - tile.rotation() / 4f : 1f).rgba(); return Tmp.c1.set(MapIO.colorFor(tile.floor(), tile.block(), tile.overlay(), tile.getTeam())).mul(tile.block().cacheLayer == CacheLayer.walls ? 1f - tile.rotation() / 4f : 1f).rgba();
} }

View File

@@ -235,7 +235,7 @@ public class Block extends BlockStorage{
/** @return whether this block should play its idle sound.*/ /** @return whether this block should play its idle sound.*/
public boolean shouldIdleSound(Tile tile){ public boolean shouldIdleSound(Tile tile){
return canProduce(tile); return shouldConsume(tile);
} }
public void drawLayer(Tile tile){ public void drawLayer(Tile tile){
@@ -716,6 +716,11 @@ public class Block extends BlockStorage{
Draw.color(); Draw.color();
} }
/** @return a custom minimap color for this tile, or 0 to use default colors. */
public int minimapColor(Tile tile){
return 0;
}
public void drawRequestConfigTop(BuildRequest req, Eachable<BuildRequest> list){ public void drawRequestConfigTop(BuildRequest req, Eachable<BuildRequest> list){
} }

View File

@@ -266,9 +266,4 @@ public abstract class BlockStorage extends UnlockableContent{
} }
return false; return false;
} }
/** Returns whether this block's inventory has space and is ready for production. */
public boolean canProduce(Tile tile){
return true;
}
} }

View File

@@ -64,6 +64,11 @@ public class Sorter extends Block{
Draw.color(); Draw.color();
} }
@Override
public int minimapColor(Tile tile){
return tile.<SorterEntity>entity().sortItem == null ? 0 : tile.<SorterEntity>entity().sortItem.color.rgba();
}
@Override @Override
public boolean acceptItem(Item item, Tile tile, Tile source){ public boolean acceptItem(Item item, Tile tile, Tile source){
Tile to = getTileTarget(item, tile, source, false); Tile to = getTileTarget(item, tile, source, false);

View File

@@ -129,7 +129,7 @@ public class Drill extends Block{
} }
@Override @Override
public boolean canProduce(Tile tile){ public boolean shouldConsume(Tile tile){
return tile.entity.items.total() < itemCapacity; return tile.entity.items.total() < itemCapacity;
} }

View File

@@ -43,7 +43,7 @@ public class Fracker extends SolidPump{
public void drawCracks(Tile tile){} public void drawCracks(Tile tile){}
@Override @Override
public boolean canProduce(Tile tile){ public boolean shouldConsume(Tile tile){
return tile.entity.liquids.get(result) < liquidCapacity - 0.01f; return tile.entity.liquids.get(result) < liquidCapacity - 0.01f;
} }

View File

@@ -135,7 +135,7 @@ public class GenericCrafter extends Block{
@Override @Override
public boolean canProduce(Tile tile){ public boolean shouldConsume(Tile tile){
if(outputItem != null && tile.entity.items.get(outputItem.item) >= itemCapacity){ if(outputItem != null && tile.entity.items.get(outputItem.item) >= itemCapacity){
return false; return false;
} }

View File

@@ -61,7 +61,7 @@ public class Separator extends Block{
} }
@Override @Override
public boolean canProduce(Tile tile){ public boolean shouldConsume(Tile tile){
return tile.entity.items.total() < itemCapacity; return tile.entity.items.total() < itemCapacity;
} }

View File

@@ -186,16 +186,11 @@ public class UnitFactory extends Block{
} }
@Override @Override
public boolean canProduce(Tile tile){ public boolean shouldConsume(Tile tile){
UnitFactoryEntity entity = tile.entity(); UnitFactoryEntity entity = tile.entity();
return entity.spawned < maxSpawn; return entity.spawned < maxSpawn;
} }
@Override
public boolean shouldConsume(Tile tile){
return canProduce(tile);
}
public static class UnitFactoryEntity extends TileEntity{ public static class UnitFactoryEntity extends TileEntity{
float buildTime; float buildTime;
float time; float time;

View File

@@ -51,7 +51,7 @@ public class ConsumeModule extends BlockModule{
} }
public boolean valid(){ public boolean valid(){
return valid && entity.block.canProduce(entity.tile); return valid && entity.block.shouldConsume(entity.tile);
} }
public boolean optionalValid(){ public boolean optionalValid(){