Re-added old ingame editor UI, hid new UI behind a toggle
This commit is contained in:
@@ -326,71 +326,32 @@ public class HudFragment{
|
|||||||
editorMain.name = "editor";
|
editorMain.name = "editor";
|
||||||
editorMain.table(Tex.buttonEdge4, t -> {
|
editorMain.table(Tex.buttonEdge4, t -> {
|
||||||
t.name = "teams";
|
t.name = "teams";
|
||||||
|
|
||||||
|
|
||||||
t.top().table(teams -> {
|
t.top().table(teams -> {
|
||||||
teams.left();
|
teams.left();
|
||||||
int i = 0;
|
|
||||||
for(Team team : Team.baseTeams){
|
for(Team team : Team.baseTeams){
|
||||||
ImageButton button = teams.button(Tex.whiteui, Styles.clearNoneTogglei, 38f, () -> Call.setPlayerTeamEditor(player, team))
|
ImageButton button = teams.button(Tex.whiteui, Styles.clearNoneTogglei, 33f, () -> Call.setPlayerTeamEditor(player, team))
|
||||||
.size(50f).margin(6f).get();
|
.size(45f).margin(6f).get();
|
||||||
button.getImageCell().grow();
|
button.getImageCell().grow();
|
||||||
button.getStyle().imageUpColor = team.color;
|
button.getStyle().imageUpColor = team.color;
|
||||||
button.update(() -> button.setChecked(player.team() == team));
|
button.update(() -> button.setChecked(player.team() == team));
|
||||||
|
|
||||||
if(++i % 6 == 0){
|
|
||||||
teams.row();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}).top().left();
|
|
||||||
|
|
||||||
t.row();
|
teams.button(Icon.downOpen, Styles.emptyi, () -> Core.settings.put("editor-blocks-shown", !Core.settings.getBool("editor-blocks-shown")))
|
||||||
|
.size(45f).update(m -> m.getStyle().imageUp = (Core.settings.getBool("editor-blocks-shown") ? Icon.upOpen : Icon.downOpen));
|
||||||
|
}).top().left().row();
|
||||||
|
|
||||||
t.table(control.input::buildPlacementUI).growX().left().with(in -> in.left()).row();
|
t.collapser(blocks -> {
|
||||||
|
|
||||||
//hovering item display
|
|
||||||
t.table(h -> {
|
|
||||||
Runnable rebuild = () -> {
|
|
||||||
h.clear();
|
|
||||||
h.left();
|
|
||||||
|
|
||||||
Displayable hover = blockfrag.hovered();
|
|
||||||
UnlockableContent toDisplay = control.input.block;
|
|
||||||
|
|
||||||
if(toDisplay == null && hover != null){
|
|
||||||
if(hover instanceof Building b){
|
|
||||||
toDisplay = b.block;
|
|
||||||
}else if(hover instanceof Tile tile){
|
|
||||||
toDisplay =
|
|
||||||
tile.block().itemDrop != null ? tile.block() :
|
|
||||||
tile.overlay().itemDrop != null || tile.wallDrop() != null ? tile.overlay() :
|
|
||||||
tile.floor();
|
|
||||||
}else if(hover instanceof Unit u){
|
|
||||||
toDisplay = u.type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(toDisplay != null){
|
|
||||||
h.image(toDisplay.uiIcon).scaling(Scaling.fit).size(8 * 4);
|
|
||||||
h.add(toDisplay.localizedName).ellipsis(true).left().growX().padLeft(5);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Object[] hovering = {null};
|
|
||||||
h.update(() -> {
|
|
||||||
Object nextHover = control.input.block != null ? control.input.block : blockfrag.hovered();
|
|
||||||
if(nextHover != hovering[0]){
|
|
||||||
hovering[0] = nextHover;
|
|
||||||
rebuild.run();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}).growX().left().minHeight(36f).row();
|
|
||||||
|
|
||||||
t.table(blocks -> {
|
|
||||||
addBlockSelection(blocks);
|
addBlockSelection(blocks);
|
||||||
}).fillX().left();
|
}, () -> Core.settings.getBool("editor-blocks-shown"));
|
||||||
}).width(dsize * 5 + 4f);
|
|
||||||
|
|
||||||
|
|
||||||
|
}).width(dsize * 5 + 4f).top();
|
||||||
if(mobile){
|
if(mobile){
|
||||||
editorMain.row().spacerY(() -> {
|
editorMain.row().spacerY(() -> {
|
||||||
if(control.input instanceof MobileInput mob){
|
if(control.input instanceof MobileInput mob && Core.settings.getBool("editor-blocks-shown")){
|
||||||
if(Core.graphics.isPortrait()) return Core.graphics.getHeight() / 2f / Scl.scl(1f);
|
if(Core.graphics.isPortrait()) return Core.graphics.getHeight() / 2f / Scl.scl(1f);
|
||||||
if(mob.hasSchematic()) return 156f;
|
if(mob.hasSchematic()) return 156f;
|
||||||
if(mob.showCancel()) return 50f;
|
if(mob.showCancel()) return 50f;
|
||||||
@@ -398,6 +359,8 @@ public class HudFragment{
|
|||||||
return 0f;
|
return 0f;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
editorMain.row().add().growY();
|
||||||
editorMain.visible(() -> shown && state.isEditor());
|
editorMain.visible(() -> shown && state.isEditor());
|
||||||
|
|
||||||
//fps display
|
//fps display
|
||||||
|
|||||||
@@ -265,14 +265,7 @@ public class PlacementFragment{
|
|||||||
public void build(Group parent){
|
public void build(Group parent){
|
||||||
parent.fill(full -> {
|
parent.fill(full -> {
|
||||||
toggler = full;
|
toggler = full;
|
||||||
full.bottom().right().visible(() -> {
|
full.bottom().right().visible(() -> ui.hudfrag.shown);
|
||||||
if(state.rules.editor){
|
|
||||||
//force update the mouse picking, since it otherwise would not happen
|
|
||||||
updatePick(control.input);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ui.hudfrag.shown && !state.rules.editor;
|
|
||||||
});
|
|
||||||
|
|
||||||
full.table(frame -> {
|
full.table(frame -> {
|
||||||
|
|
||||||
@@ -750,12 +743,10 @@ public class PlacementFragment{
|
|||||||
|
|
||||||
/** @return the thing being hovered over. */
|
/** @return the thing being hovered over. */
|
||||||
public @Nullable Displayable hovered(){
|
public @Nullable Displayable hovered(){
|
||||||
if(!state.rules.editor){
|
Vec2 v = topTable.stageToLocalCoordinates(Core.input.mouse());
|
||||||
Vec2 v = topTable.stageToLocalCoordinates(Core.input.mouse());
|
|
||||||
|
|
||||||
//if the mouse intersects the table or the UI has the mouse, no hovering can occur
|
//if the mouse intersects the table or the UI has the mouse, no hovering can occur
|
||||||
if(Core.scene.hasMouse() || topTable.hit(v.x, v.y, false) != null) return null;
|
if(Core.scene.hasMouse() || topTable.hit(v.x, v.y, false) != null) return null;
|
||||||
}
|
|
||||||
|
|
||||||
//check for a unit
|
//check for a unit
|
||||||
Unit unit = Units.closestOverlap(player.team(), Core.input.mouseWorldX(), Core.input.mouseWorldY(), 5f, u -> !u.isLocal() && u.displayable());
|
Unit unit = Units.closestOverlap(player.team(), Core.input.mouseWorldX(), Core.input.mouseWorldY(), 5f, u -> !u.isLocal() && u.displayable());
|
||||||
|
|||||||
Reference in New Issue
Block a user