the return of deselectable (#7319)
This commit is contained in:
@@ -158,7 +158,7 @@ public class ColorPicker extends BaseDialog{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}).get();
|
}).get();
|
||||||
});
|
}).grow();
|
||||||
|
|
||||||
buttons.clear();
|
buttons.clear();
|
||||||
addCloseButton();
|
addCloseButton();
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class ModsDialog extends BaseDialog{
|
|||||||
searchtxt = res;
|
searchtxt = res;
|
||||||
rebuildBrowser();
|
rebuildBrowser();
|
||||||
}).growX().get();
|
}).growX().get();
|
||||||
table.button(Icon.list, Styles.clearNonei, 32f, () -> {
|
table.button(Icon.list, Styles.emptyi, 32f, () -> {
|
||||||
orderDate = !orderDate;
|
orderDate = !orderDate;
|
||||||
rebuildBrowser();
|
rebuildBrowser();
|
||||||
}).update(b -> b.getStyle().imageUp = (orderDate ? Icon.list : Icon.star)).size(40f).get()
|
}).update(b -> b.getStyle().imageUp = (orderDate ? Icon.list : Icon.star)).size(40f).get()
|
||||||
|
|||||||
@@ -224,6 +224,16 @@ public class CanvasBlock extends Block{
|
|||||||
}).size(40f);
|
}).size(40f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onConfigureBuildTapped(Building other){
|
||||||
|
if(this == other){
|
||||||
|
deselect();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] config(){
|
public byte[] config(){
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package mindustry.world.blocks.payloads;
|
|||||||
|
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
|
import arc.math.geom.*;
|
||||||
import arc.scene.ui.layout.*;
|
import arc.scene.ui.layout.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
@@ -33,6 +34,7 @@ public class PayloadSource extends PayloadBlock{
|
|||||||
noUpdateDisabled = true;
|
noUpdateDisabled = true;
|
||||||
clearOnDoubleTap = true;
|
clearOnDoubleTap = true;
|
||||||
regionRotated1 = 1;
|
regionRotated1 = 1;
|
||||||
|
commandable = true;
|
||||||
|
|
||||||
config(Block.class, (PayloadSourceBuild build, Block block) -> {
|
config(Block.class, (PayloadSourceBuild build, Block block) -> {
|
||||||
if(canProduce(block) && build.block != block){
|
if(canProduce(block) && build.block != block){
|
||||||
@@ -83,8 +85,19 @@ public class PayloadSource extends PayloadBlock{
|
|||||||
public class PayloadSourceBuild extends PayloadBlockBuild<Payload>{
|
public class PayloadSourceBuild extends PayloadBlockBuild<Payload>{
|
||||||
public UnitType unit;
|
public UnitType unit;
|
||||||
public Block block;
|
public Block block;
|
||||||
|
public @Nullable Vec2 commandPos;
|
||||||
public float scl;
|
public float scl;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Vec2 getCommandPosition(){
|
||||||
|
return commandPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(Vec2 target){
|
||||||
|
commandPos = target;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Table table){
|
public void buildConfiguration(Table table){
|
||||||
ItemSelection.buildTable(PayloadSource.this, table,
|
ItemSelection.buildTable(PayloadSource.this, table,
|
||||||
@@ -110,6 +123,11 @@ public class PayloadSource extends PayloadBlock{
|
|||||||
scl = 0f;
|
scl = 0f;
|
||||||
if(unit != null){
|
if(unit != null){
|
||||||
payload = new UnitPayload(unit.create(team));
|
payload = new UnitPayload(unit.create(team));
|
||||||
|
|
||||||
|
Unit p = ((UnitPayload)payload).unit;
|
||||||
|
if(commandPos != null && p.isCommandable()){
|
||||||
|
p.command().commandPosition(commandPos);
|
||||||
|
}
|
||||||
}else if(block != null){
|
}else if(block != null){
|
||||||
payload = new BuildPayload(block, team);
|
payload = new BuildPayload(block, team);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import mindustry.gen.*;
|
|||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.input.*;
|
import mindustry.input.*;
|
||||||
import mindustry.logic.*;
|
import mindustry.logic.*;
|
||||||
|
import mindustry.ui.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
@@ -86,12 +87,22 @@ public class LightBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Table table){
|
public void buildConfiguration(Table table){
|
||||||
table.button(Icon.pencil, () -> {
|
table.button(Icon.pencil, Styles.cleari, () -> {
|
||||||
ui.picker.show(Tmp.c1.set(color).a(0.5f), false, res -> configure(res.rgba()));
|
ui.picker.show(Tmp.c1.set(color).a(0.5f), false, res -> configure(res.rgba()));
|
||||||
deselect();
|
deselect();
|
||||||
}).size(40f);
|
}).size(40f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onConfigureBuildTapped(Building other){
|
||||||
|
if(this == other){
|
||||||
|
deselect();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawLight(){
|
public void drawLight(){
|
||||||
Drawf.light(x, y, lightRadius * Math.min(smoothTime, 2f), Tmp.c1.set(color), brightness * efficiency);
|
Drawf.light(x, y, lightRadius * Math.min(smoothTime, 2f), Tmp.c1.set(color), brightness * efficiency);
|
||||||
|
|||||||
@@ -298,6 +298,8 @@ public class UnitAssembler extends PayloadBlock{
|
|||||||
for(var module : modules){
|
for(var module : modules){
|
||||||
Drawf.selected(module, Pal.accent);
|
Drawf.selected(module, Pal.accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Drawf.dashRect(Tmp.c1.set(Pal.accent).lerp(Pal.remove, invalidWarmup), getRect(Tmp.r1, x, y, rotation));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -320,7 +322,7 @@ public class UnitAssembler extends PayloadBlock{
|
|||||||
prev = mod.block;
|
prev = mod.block;
|
||||||
}
|
}
|
||||||
|
|
||||||
t.label(() -> "[accent] -> []" + unit().emoji() + " " + unit().name);
|
t.label(() -> "[accent] -> []" + unit().emoji() + " " + unit().localizedName);
|
||||||
}).pad(4).padLeft(0f).fillX().left();
|
}).pad(4).padLeft(0f).fillX().left();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user