Added laser router block
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 246 B |
@@ -445,13 +445,20 @@ blocks/powerlaser
|
|||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/pump
|
blocks/powerlaserrouter
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 499, 387
|
xy: 499, 387
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
blocks/pump
|
||||||
|
rotate: false
|
||||||
|
xy: 389, 224
|
||||||
|
size: 8, 8
|
||||||
|
orig: 8, 8
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
blocks/repairturret
|
blocks/repairturret
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 177, 2
|
xy: 177, 2
|
||||||
@@ -461,35 +468,35 @@ blocks/repairturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/rock
|
blocks/rock
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 214
|
xy: 389, 204
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rock2
|
blocks/rock2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 204
|
xy: 332, 197
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rock2shadow
|
blocks/rock2shadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 197
|
xy: 332, 187
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rockshadow
|
blocks/rockshadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 187
|
xy: 342, 197
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/router
|
blocks/router
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 197
|
xy: 332, 177
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -503,7 +510,7 @@ blocks/shadow
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/shieldgenerator
|
blocks/shieldgenerator
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 177
|
xy: 342, 187
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -517,21 +524,21 @@ blocks/shotgunturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/shrub
|
blocks/shrub
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 187
|
xy: 342, 177
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/shrubshadow
|
blocks/shrubshadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 177
|
xy: 352, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/smelter
|
blocks/smelter
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 192
|
xy: 352, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -545,21 +552,21 @@ blocks/sniperturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/steelconveyor
|
blocks/steelconveyor
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 182
|
xy: 362, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/steelconveyormove
|
blocks/steelconveyormove
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 192
|
xy: 362, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/steelwall
|
blocks/steelwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 182
|
xy: 372, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -573,49 +580,49 @@ blocks/stone
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/stone1
|
blocks/stone1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 192
|
xy: 372, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stone2
|
blocks/stone2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 182
|
xy: 382, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stone3
|
blocks/stone3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 192
|
xy: 382, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock
|
blocks/stoneblock
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 182
|
xy: 352, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock2
|
blocks/stoneblock2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 172
|
xy: 362, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock3
|
blocks/stoneblock3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 172
|
xy: 372, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stonedrill
|
blocks/stonedrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 172
|
xy: 382, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -629,63 +636,63 @@ blocks/stoneedge
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/stonewall
|
blocks/stonewall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 172
|
xy: 392, 194
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/thermalgenerator
|
blocks/thermalgenerator
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 194
|
xy: 392, 184
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium1
|
blocks/titanium1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 184
|
xy: 392, 174
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium2
|
blocks/titanium2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 174
|
xy: 332, 167
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium3
|
blocks/titanium3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 167
|
xy: 342, 167
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumdrill
|
blocks/titaniumdrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 167
|
xy: 352, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumpurifier
|
blocks/titaniumpurifier
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 162
|
xy: 362, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumshieldwall
|
blocks/titaniumshieldwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 162
|
xy: 372, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumwall
|
blocks/titaniumwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 162
|
xy: 382, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -699,35 +706,35 @@ blocks/turret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/uranium1
|
blocks/uranium1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 164
|
xy: 389, 282
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uranium2
|
blocks/uranium2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 282
|
xy: 389, 272
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uranium3
|
blocks/uranium3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 272
|
xy: 389, 262
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uraniumdrill
|
blocks/uraniumdrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 262
|
xy: 389, 252
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/water
|
blocks/water
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 252
|
xy: 391, 242
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -1381,14 +1388,14 @@ weapons/multigun
|
|||||||
index: -1
|
index: -1
|
||||||
weapons/railgun
|
weapons/railgun
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 224
|
xy: 389, 214
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
weapons/triblaster
|
weapons/triblaster
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 162
|
xy: 392, 164
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 41 KiB |
@@ -33,24 +33,27 @@ public class Tutorial{
|
|||||||
|
|
||||||
public void buildUI(table table){
|
public void buildUI(table table){
|
||||||
|
|
||||||
|
//TODO maybe align it to the bottom?
|
||||||
table.atop();
|
table.atop();
|
||||||
|
|
||||||
new table("pane"){{
|
new table("pane"){{
|
||||||
atop();
|
atop();
|
||||||
get().pad(Unit.dp.inPixels(14));
|
get().pad(Unit.dp.inPixels(12));
|
||||||
|
|
||||||
|
info = new label(()->stage.text).pad(10f).padBottom(5f).width(340f).units(Unit.dp).colspan(2).get();
|
||||||
|
info.setWrap(true);
|
||||||
|
|
||||||
|
row();
|
||||||
|
|
||||||
prev = new button("< Prev", ()->{
|
prev = new button("< Prev", ()->{
|
||||||
if(!prev.isDisabled())
|
if(!prev.isDisabled())
|
||||||
move(false);
|
move(false);
|
||||||
}).get();
|
}).left().get();
|
||||||
|
|
||||||
info = new label(()->stage.text).pad(10f).width(340f).units(Unit.dp).get();
|
|
||||||
info.setWrap(true);
|
|
||||||
|
|
||||||
next = new button("Next >", ()->{
|
next = new button("Next >", ()->{
|
||||||
if(!next.isDisabled())
|
if(!next.isDisabled())
|
||||||
move(true);
|
move(true);
|
||||||
}).get();
|
}).right().get();
|
||||||
|
|
||||||
|
|
||||||
}}.end();
|
}}.end();
|
||||||
|
|||||||
@@ -345,6 +345,12 @@ public class UI extends SceneModule{
|
|||||||
|
|
||||||
}}.end();
|
}}.end();
|
||||||
|
|
||||||
|
new table(){{
|
||||||
|
control.tutorial.buildUI(this);
|
||||||
|
|
||||||
|
visible(()->control.tutorial.active());
|
||||||
|
}}.end();
|
||||||
|
|
||||||
//paused table
|
//paused table
|
||||||
new table(){{
|
new table(){{
|
||||||
visible(()->GameState.is(State.paused));
|
visible(()->GameState.is(State.paused));
|
||||||
@@ -377,12 +383,6 @@ public class UI extends SceneModule{
|
|||||||
|
|
||||||
get().setVisible(play);
|
get().setVisible(play);
|
||||||
}}.end();
|
}}.end();
|
||||||
|
|
||||||
new table(){{
|
|
||||||
control.tutorial.buildUI(this);
|
|
||||||
|
|
||||||
visible(()->control.tutorial.active());
|
|
||||||
}}.end();
|
|
||||||
|
|
||||||
//menu table
|
//menu table
|
||||||
new table(){{
|
new table(){{
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public enum Recipe{
|
|||||||
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
powerlaser(power, DistributionBlocks.powerlaser, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
powerlaser(power, DistributionBlocks.powerlaser, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
|
powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
|
|
||||||
pump(production, ProductionBlocks.pump, stack(Item.steel, 10));
|
pump(production, ProductionBlocks.pump, stack(Item.steel, 10));
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class Generator{
|
|||||||
floor = Blocks.titanium;
|
floor = Blocks.titanium;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Noise.nnoise(x + 99999, y + 99999, 6, 1) > 0.256){
|
if(Noise.nnoise(x + 99999, y + 99999, 7, 1) > 0.257){
|
||||||
floor = Blocks.uranium;
|
floor = Blocks.uranium;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -308,6 +308,7 @@ public class World{
|
|||||||
|
|
||||||
if(!tile.block().isMultiblock() && !tile.isLinked()){
|
if(!tile.block().isMultiblock() && !tile.isLinked()){
|
||||||
tile.setBlock(Blocks.air);
|
tile.setBlock(Blocks.air);
|
||||||
|
Effects.effect("break", tile.worldx(), tile.worldy());
|
||||||
}else{
|
}else{
|
||||||
Tile target = tile.isLinked() ? tile.getLinked() : tile;
|
Tile target = tile.isLinked() ? tile.getLinked() : tile;
|
||||||
Array<Tile> removals = target.getLinkedTiles();
|
Array<Tile> removals = target.getLinkedTiles();
|
||||||
|
|||||||
@@ -51,5 +51,10 @@ public class DistributionBlocks{
|
|||||||
{
|
{
|
||||||
formalName = "power laser";
|
formalName = "power laser";
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
powerlaserrouter = new PowerLaserRouter("powerlaserrouter"){
|
||||||
|
{
|
||||||
|
formalName = "laser router";
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,12 +26,32 @@ public class PowerLaser extends PowerBlock{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawOver(Tile tile){
|
public void drawOver(Tile tile){
|
||||||
Tile target = target(tile);
|
|
||||||
|
|
||||||
PowerEntity entity = tile.entity();
|
PowerEntity entity = tile.entity();
|
||||||
|
|
||||||
if(target != null && entity.power > powerAmount){
|
if(entity.power > powerAmount){
|
||||||
Angles.translation(tile.rotation * 90, 6f);
|
drawLaserTo(tile, tile.rotation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(Tile tile){
|
||||||
|
PowerEntity entity = tile.entity();
|
||||||
|
Tile target = target(tile, tile.rotation);
|
||||||
|
|
||||||
|
if(target == null) return;
|
||||||
|
|
||||||
|
PowerAcceptor p = (PowerAcceptor)target.block();
|
||||||
|
if(p.acceptsPower(target) && entity.power >= powerAmount){
|
||||||
|
entity.power -= (powerAmount - p.addPower(target, powerAmount));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void drawLaserTo(Tile tile, int rotation){
|
||||||
|
|
||||||
|
Tile target = target(tile, rotation);
|
||||||
|
|
||||||
|
if(target != null){
|
||||||
|
Angles.translation(rotation * 90, 6f);
|
||||||
|
|
||||||
Draw.color(Color.GRAY, Color.WHITE, 0.902f + Mathf.sin(Timers.time(), 1.7f, 0.08f));
|
Draw.color(Color.GRAY, Color.WHITE, 0.902f + Mathf.sin(Timers.time(), 1.7f, 0.08f));
|
||||||
Draw.alpha(1f);
|
Draw.alpha(1f);
|
||||||
@@ -47,21 +67,11 @@ public class PowerLaser extends PowerBlock{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
protected Tile target(Tile tile, int rotation){
|
||||||
public void update(Tile tile){
|
if(rotation < 0)
|
||||||
PowerEntity entity = tile.entity();
|
rotation += 4;
|
||||||
Tile target = target(tile);
|
rotation %= 4;
|
||||||
|
GridPoint2 point = Geometry.getD4Points()[rotation];
|
||||||
if(target == null) return;
|
|
||||||
|
|
||||||
PowerAcceptor p = (PowerAcceptor)target.block();
|
|
||||||
if(p.acceptsPower(target) && entity.power >= powerAmount){
|
|
||||||
entity.power -= (powerAmount - p.addPower(target, powerAmount));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Tile target(Tile tile){
|
|
||||||
GridPoint2 point = Geometry.getD4Points()[tile.rotation];
|
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package io.anuke.mindustry.world.blocks.types.distribution;
|
||||||
|
|
||||||
|
import io.anuke.mindustry.world.Tile;
|
||||||
|
import io.anuke.mindustry.world.blocks.types.PowerAcceptor;
|
||||||
|
|
||||||
|
public class PowerLaserRouter extends PowerLaser{
|
||||||
|
|
||||||
|
public PowerLaserRouter(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawOver(Tile tile){
|
||||||
|
|
||||||
|
PowerEntity entity = tile.entity();
|
||||||
|
|
||||||
|
if(entity.power > powerAmount){
|
||||||
|
for(int i = -1; i <= 1; i ++){
|
||||||
|
drawLaserTo(tile, tile.rotation + i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(Tile tile){
|
||||||
|
PowerEntity entity = tile.entity();
|
||||||
|
for(int i = -1; i <= 1; i ++){
|
||||||
|
Tile target = target(tile, tile.rotation + i);
|
||||||
|
|
||||||
|
if(target == null) return;
|
||||||
|
|
||||||
|
PowerAcceptor p = (PowerAcceptor)target.block();
|
||||||
|
if(p.acceptsPower(target) && entity.power >= powerAmount/3f){
|
||||||
|
entity.power -= (powerAmount/3f - p.addPower(target, powerAmount/3f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user