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