Changed enum to two booleans

This commit is contained in:
Anuken
2018-09-19 10:32:06 -04:00
parent 737ad5c8b7
commit 5325488099
6 changed files with 16 additions and 10 deletions

View File

@@ -65,11 +65,15 @@ public class PowerBlocks extends BlockList implements ContentList{
battery = new PowerDistributor("battery"){{ battery = new PowerDistributor("battery"){{
powerCapacity = 320f; powerCapacity = 320f;
outputsPower = true;
consumesPower = true;
}}; }};
batteryLarge = new PowerDistributor("battery-large"){{ batteryLarge = new PowerDistributor("battery-large"){{
size = 3; size = 3;
powerCapacity = 2000f; powerCapacity = 2000f;
outputsPower = true;
consumesPower = true;
}}; }};
powerNode = new PowerNode("power-node"){{ powerNode = new PowerNode("power-node"){{

View File

@@ -12,7 +12,6 @@ import io.anuke.mindustry.type.Liquid;
import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.consumers.ConsumeItem;
import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.consumers.ConsumeLiquid;
import io.anuke.mindustry.world.consumers.Consumers; import io.anuke.mindustry.world.consumers.Consumers;
import io.anuke.mindustry.world.meta.PowerType;
import io.anuke.mindustry.world.meta.Producers; import io.anuke.mindustry.world.meta.Producers;
import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
@@ -26,7 +25,8 @@ public abstract class BaseBlock extends MappableContent{
public boolean outputsLiquid = false; public boolean outputsLiquid = false;
public boolean singleLiquid = true; public boolean singleLiquid = true;
public PowerType powerType = PowerType.consumer; public boolean consumesPower = true;
public boolean outputsPower;
public int itemCapacity; public int itemCapacity;
public float liquidCapacity = 10f; public float liquidCapacity = 10f;

View File

@@ -155,7 +155,7 @@ public class Block extends BaseBlock {
public Array<Tile> getPowerConnections(Tile tile, Array<Tile> out){ public Array<Tile> getPowerConnections(Tile tile, Array<Tile> out){
out.clear(); out.clear();
for(Tile other : tile.entity.proximity()){ for(Tile other : tile.entity.proximity()){
if(other.entity.power != null && !(powerType == PowerType.consumer && other.block().powerType == PowerType.consumer)){ if(other.entity.power != null && !(consumesPower && other.block().consumesPower)){
out.add(other); out.add(other);
} }
} }

View File

@@ -2,13 +2,13 @@ package io.anuke.mindustry.world.blocks.power;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.blocks.PowerBlock;
import io.anuke.mindustry.world.meta.PowerType;
public class PowerDistributor extends PowerBlock{ public class PowerDistributor extends PowerBlock{
public PowerDistributor(String name){ public PowerDistributor(String name){
super(name); super(name);
powerType = PowerType.producer; consumesPower = false;
outputsPower = true;
} }
@Override @Override

View File

@@ -4,7 +4,6 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectSet; import com.badlogic.gdx.utils.ObjectSet;
import com.badlogic.gdx.utils.Queue; import com.badlogic.gdx.utils.Queue;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.meta.PowerType;
import static io.anuke.mindustry.Vars.threads; import static io.anuke.mindustry.Vars.threads;
@@ -74,9 +73,12 @@ public class PowerGraph{
public void add(Tile tile){ public void add(Tile tile){
tile.entity.power.graph = this; tile.entity.power.graph = this;
all.add(tile); all.add(tile);
if(tile.block().powerType == PowerType.producer){
if(tile.block().outputsPower){
producers.add(tile); producers.add(tile);
}else if(tile.block().powerType == PowerType.consumer){ }
if(tile.block().consumesPower){
consumers.add(tile); consumers.add(tile);
} }
} }

View File

@@ -14,7 +14,6 @@ import io.anuke.mindustry.world.Edges;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.blocks.PowerBlock;
import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStat;
import io.anuke.mindustry.world.meta.PowerType;
import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.StatUnit;
import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Settings;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
@@ -51,7 +50,8 @@ public class PowerNode extends PowerBlock{
layer = Layer.power; layer = Layer.power;
powerCapacity = 5f; powerCapacity = 5f;
configurable = true; configurable = true;
powerType = PowerType.bridge; consumesPower = false;
outputsPower = false;
} }
@Remote(targets = Loc.both, called = Loc.server, forward = true) @Remote(targets = Loc.both, called = Loc.server, forward = true)