From 5ae1e59b5c322f7e0a4b312e95602f740713e72b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 6 Jul 2019 12:22:10 -0400 Subject: [PATCH] UI --- core/assets-raw/sprites/ui/underline-2.9.png | Bin 144 -> 3008 bytes .../sprites/ui/underline-disabled.9.png | Bin 3149 -> 3210 bytes .../assets-raw/sprites/ui/underline-red.9.png | Bin 2856 -> 3361 bytes core/assets-raw/sprites/ui/underline.9.png | Bin 2981 -> 3164 bytes core/assets/bundles/bundle.properties | 1 + core/assets/sprites/sprites4.png | Bin 54377 -> 54377 bytes .../io/anuke/mindustry/content/Blocks.java | 4 +- .../mindustry/editor/MapEditorDialog.java | 2 +- .../mindustry/editor/MapGenerateDialog.java | 88 ++++++++++-------- .../io/anuke/mindustry/editor/MapView.java | 4 +- .../mindustry/editor/WaveInfoDialog.java | 6 +- core/src/io/anuke/mindustry/graphics/Pal.java | 1 + .../mindustry/ui/dialogs/MapsDialog.java | 4 +- .../mindustry/ui/dialogs/TechTreeDialog.java | 3 +- .../mindustry/ui/dialogs/ZoneInfoDialog.java | 6 +- .../ui/fragments/PlacementFragment.java | 10 +- 16 files changed, 70 insertions(+), 59 deletions(-) diff --git a/core/assets-raw/sprites/ui/underline-2.9.png b/core/assets-raw/sprites/ui/underline-2.9.png index f703111db25c2bf7db2855816fa873c58d5de728..24da68912a4bb7b0d31a02897133dc775137e5e0 100644 GIT binary patch delta 3003 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 delta 116 zcmX>gK7nz9axO!-r;B4q#jUrOH*zv4@VEqupYh>)>2R^3wN;Gkkl??AHzS^idKzvn zx-Gc><>j7=Jy&zgTe~DWM4f{D>{b diff --git a/core/assets-raw/sprites/ui/underline-disabled.9.png b/core/assets-raw/sprites/ui/underline-disabled.9.png index 753a3e9c248d146712b52a65ddb35f2015ddada3..778b42850015e7a2112a5f93df039767365d48bc 100644 GIT binary patch delta 3059 zcmX>r(Iq)Sh4KGHRr&hpGUkEGOgsE}&dr0d|E4UERqva7#P8p_-$(AU zMfFe8U|INaf4%zOX8#VoAOT;);}s8ti%#r&peXx$^ZR!kud8coY<}N4URLz?&4-Mn zJC*-?9?QgE(7P^fGUx5rWa~`pr%Qq_+$No$)@eL}!{`UO>hQ-`ZHmcj-__%T3-)l!UG#QKEDXn$S*X29kwAx_v?;iQRj^*qJ zj(z`Veao_GeL;?+`1VJ|Nfyn_)BnjFt5L^q<3`wgUIVs3zsgI;jIsRU9k01;74U^{v*q|*X@3^O#1b`nC8xd z{OfmA-?v%6?Z~Um`Pv!>_00DQJ-TeE7{)s>+2pr*^qotyedVX9X1wE5-rH<&g7q3z~8zr=Sg38e)noH++eVgf+>||M=c2@Iw4A+!t0Sc=VY8;)v zPR(8slzeqo*1DyNwNV+Dk}gk+%3J#ToUDk0ZQ0wE&*R#pJ(dc#^;ncFndm zJ~Inn`52%7B(~LfmHgr|>7DBrKRdVLr>KVX^6M)WMt)T~BssU^D39RhgNl!`1Rb2J zyKhd6;kc)iZfLzJJ*i%dU;Aj&<+-jrf;@*SXTH-dyMDs9N1E|&`r~KsUHf!O>IE$~ zUD(@w=lPDiol*MTdEaxkL~{5XoY3>q{J_hV{WFd}e)oyvmFyo@rmKcwO6IFxY?*lO ztlVoEP65AcPj}|fN!%Y~_$!ts|LV8eyFKs1yo}t~{)fwhbq?HZH`=(aqCP{YP^MbW zefviDrUhExB>F<$^2v2B+woyfVDG-Aw{j*KN_y|TE@?b#!#2l&lX*O>)k$9;NA5aT zmos~s-t^_V-7}L{E&U=jA#}34Tgd^Ybty*=TPUUN=MZxh;Xk;k&?n>cq)!i2bq=p# z^PBhag{kiJ*f#}hwhFnQ@L11td9TLR`llKCLX}E(rh4m3nQnXM0SHzNWJjU7cV1wdX$wtY|mqkBv{V_hsTJmIt*|)7L1>-$9#4?z!=)Qt4Pvo!aeK1$i)|MroUi=i9LDdJ!5!$eXQp3; z;oOHM4Uc=Czbmhob~9Tf!NGBtXO2U=!nWm%%a0n$GhUyQemLoe$eommf2?=D7@aXM zxLx=|yMu65>_^@2H~|E^0t`1NAvwJWh-~0pb7papaAK zb{FWc`pdoJoJai>^#GOkm(yU^^PUWxJfHFYD$OA-^$*#YugIe?2fy&4#mAm zc_wfCmw%8lXIi>dxm&^G&(A1_X?GV%ZFJDIsrS3_`QWw_9F_-8+;Hwoy1ipscv6GY z##1J0a;F_qky%$%FF*LM&0{}_Yvz{| zSJHKtx-YZK*0eSH8tMHqGC)4k>wMF%dZ~ZDdZzM!PsNLx9=B>dWc)kg8jIMBol}-d zWXpfdogjO)e!XG!k$2D8s-CPly0E}eROy|BrCDI7=$p>W>L+>bk5tdjaS2@3TytFM z|3cvR%K>Vy_(fdWG(vmH6C9BuU;ny=qTc-P7=K`&C9-K%^ebC(aXM?+GLkGvRLoRVkW~Im~$unI!@UWiyRiWjR+6&>Q z1Mi-=>$jz7)8gBG4AY;KZM{7GT88_9{wfyft0iAs=9M4qe+T zR5nMIE{*bEEfF0%zgkQpTxZ+%)7Q5;T-$oo*IYLLt+;?6&xOr3u9g}1^x_jUmuT~B zkDZ@T@m%}Y+3Q=?Z)jY&yUyPrrr!4G6vKFbo^@}(tb5GX^!!p|-sgu`OBU!iRA|Y* zFq4n-WiRSK^e@)xM2bL6+;XiSTMbtU&+e+-u;|kTrnAaoHRt=*dQRk9vx!ec`KbHS zHHKQ@p=EP!T?uq{V|-M5^SRf&_0^l#zx#5xVg9}QoJ=B{(|_^%YG7X-Wpkc!3e>Qz`?9TmF{4lIq`3U-kID+Wcw=I=o2K&bxWo8sKF`f5v6>#< z8e)y#jejk(xlqpiWldFW_T0x`7*7PPzhr*kprS#{qBo}V%gf7^zP-IaE9`$AL)`qL z`72f|4Q60qU`z6LcVYO+u$bX^QlxF=uwEzGB delta 2986 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 delta 2728 zcmZ1|wL)xyO1(u@NJL3cV!1*=QGQxxPO3slWkIS!YDH!m14G5Fr;(9m%q#i+Ue~JP z^ht`~n|$u2?4GCJMW?*2=$d<^{(R{pEoRjtQ+G__IQ##v_7{G;#$dI-U8-)){u&E+ zbhYPvOTWLC^L2G?jLok%rPenKODs$(@BIBI`P^{dqPhC|OA6|@Y=2$m^>@N#e#dV* z6}5ZLtvP>uM-9iPyzRFin@@ebS8AWm^B={31*)U2oqa!n;aI|n&wY2kT$8RzpL^7q zIlkuT-N(0oKG@Rw@r>Pr+f~0MtgYE7S+d-K&h zTd(@{zuUF=`{mi+Z*=zP7=3?LpVi@@b!p=Y;g;8&%+d?Kyx!WO{jmSzoNJ*4sX7}E zCox~k*J5&+p(`l=*y-@LT8Lmq~BO} zI7{yAyEWahpQo9|ZE?XfJI@w>buuF649IsV3pHHwn zKBwrM>h(um?5%~Js(~k$PKh$iY<=d zRtX)6Wu-dba&~t=-M3Y`@W;fvcZ^R@ob^t4nzHHL#GTc^`do3(Nsmbe~1qRo7} z-mK7Xw`293DEX5<>Sl^R_{3MK#LK27ZL{k$I(uQG+GAU>s~R)zY~i#KDt+|oXY8#d}crNWzIh-^1TFkZs+_9Q=&%$13Fvh9YiAAvM zBxHM5%ur)uGgB~A;d9(uSkINFJ?Hcn?})}I**Q8Fd!}8Vlq(Yv@!s@Yz=Jr}Rn`j{ zN-s6YT2wXGM#Zf5W6G#La*O>(S|`h7_latvtH0U=AAI!6#b&0Z?EB09tO+qqvt4tV z6-@gczLJoAxPt$(!)33$y}X3ir&mp1>2aKg(iMf3colo%4*NV`uCCC3@u{#~)18VX;%tv?n5B`ve`ep`B&(w*8y-)2E?2IvBr|1I6T@ZC z50WJuNxwxOl=N8jdM@>FH~3?ChehcJ$DJ?QGvp8WF0En96S$rJVA_4)3zf8}V7t~))o4o(9?`&VW18-+NnR3Hq zi4()>9d{-;Woy|q%gJOkMjrdZ@u{PH>XHK{Vug&QDn{Wgd*4;CCOJ;+_qg;c`o(4D zg8c{Uiq9*5dC58b{|`U^9e;Sg@R#uac{#K8-No;*e~L{q4{M$<*e%@rFG-l$UyTUsK4?Jv+ouB-~M3P zY?VLP3nuUSuKr-zS+)3w>tcTEbTevinRE4;hQ}jG5i57zo8RrCvJIK8gjMkvMlLzN zG~}tFeA;~DW=-ow=T|i*MX6@F@?5On&7F}q@oKKstKh`_$IdP&>0Ih6pz<$fwZiFz zVZ9syoZ9DB{9F+I#lZ4_#tOyst48alKb2Sz;4<^w-#d&(UwWH2R~d8#ZB3l}FG|Dd zuJ$ib`2xGkQ|h>0{jZ<@ zlQ)-5J1yqNYQ^Uf>H!ts^sa4fl+0RpvZyEbOodztkK#?`viwQgoA z|9n|r^u%_B3%@mL_?i9&by^F&P~^JrX0{{7`JT0V!QKiH?Hhb+1GmK}xeMo9tmjH- zGYjfcORIkoUgK48$!<^PX7}vitmG;0lwvsTa+kSDOiK}7>Hpg7Qn4P3#T2W#*>b(d z-#B+qyd|@#Hbdp&X{(j-tNPqxfj%yWQlx~RahTt zlexlPZkux%Yuf`uw>s5VjM!sZJY?J$?5miq& zzPHlZ`{_ox?6kPbH@o?~*V}xHZC@HL_j}#pOWWnRAF;iEHL+dRT0g6J9$$#Ay8R4qG1=e zQN!Y8vsf#yEL~Dny1blypQeYdIoDryw!^zFEm^@eIgUqxmsvvCj7Q)wTQma$L-XWr zogTe~DWM4fx??Q$ diff --git a/core/assets-raw/sprites/ui/underline.9.png b/core/assets-raw/sprites/ui/underline.9.png index ce0a093570203c87292ec24d7d35106f0279617c..516f6f82ccd851198c5c3b96aefcafd282b5ca49 100644 GIT binary patch delta 3073 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 K&t;ucLK6U-FytHn delta 2901 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 delta 17651 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 state.rules.attackMode || state.rules.pvp || state.isEditor(); + public static Block //environment @@ -1587,8 +1589,6 @@ public class Blocks implements ContentList{ //endregion //region units - BooleanProvider padVisible = () -> state.rules.attackMode || state.rules.pvp || state.isEditor(); - draugFactory = new UnitFactory("draug-factory"){{ requirements(Category.units, ItemStack.with(Items.copper, 30, Items.lead, 120)); type = UnitTypes.draug; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index e363ecfa03..af2f80a176 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -334,7 +334,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ @Override public Dialog show(){ - return super.show(Core.scene, Actions.sequence(Actions.alpha(0f), Actions.scaleTo(1f, 1f), Actions.fadeIn(0.3f))); + return super.show(Core.scene, Actions.sequence()); } @Override diff --git a/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java b/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java index c669cd943c..466359c744 100644 --- a/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapGenerateDialog.java @@ -92,7 +92,7 @@ public class MapGenerateDialog extends FloatingDialog{ setScaling(Scaling.none); }}); visible(() -> generating && !updateEditorOnChange); - }}).size(mobile ? 300f : 400f).padRight(6); + }}).size(mobile ? 300f : 400f).padRight(10); t.pane(p -> filterTable = p).width(300f).get().setScrollingDisabled(true, false); }).grow(); @@ -119,51 +119,57 @@ public class MapGenerateDialog extends FloatingDialog{ filterTable.top(); for(GenerateFilter filter : filters){ - filterTable.table(t -> { - t.add(filter.name()).padTop(5).color(Pal.accent).growX().left(); + //main container + filterTable.table("button", c -> { + //icons to perform actions + c.table(t -> { + t.add(filter.name()).padTop(5).color(Pal.accent).growX().left(); - t.row(); + t.row(); - t.table(b -> { - b.left(); - b.defaults().size(50f); - b.addImageButton("icon-refresh-small", iconsizesmall, () -> { - filter.randomize(); - update(); - }); + t.table(b -> { + String style = "clear"; + b.left(); + b.defaults().size(50f); + b.addImageButton("icon-refresh-small", style, iconsizesmall, () -> { + filter.randomize(); + update(); + }); - b.addImageButton("icon-arrow-up-small", iconsizesmall, () -> { - int idx = filters.indexOf(filter); - filters.swap(idx, Math.max(0, idx - 1)); - rebuildFilters(); - update(); + b.addImageButton("icon-arrow-up-small", style, iconsizesmall, () -> { + int idx = filters.indexOf(filter); + filters.swap(idx, Math.max(0, idx - 1)); + rebuildFilters(); + update(); + }); + b.addImageButton("icon-arrow-down-small",style, iconsizesmall, () -> { + int idx = filters.indexOf(filter); + filters.swap(idx, Math.min(filters.size - 1, idx + 1)); + rebuildFilters(); + update(); + }); + b.addImageButton("icon-trash-small", style, iconsizesmall, () -> { + filters.remove(filter); + rebuildFilters(); + update(); + }); }); - b.addImageButton("icon-arrow-down-small", iconsizesmall, () -> { - int idx = filters.indexOf(filter); - filters.swap(idx, Math.min(filters.size - 1, idx + 1)); - rebuildFilters(); - update(); - }); - b.addImageButton("icon-trash-small", iconsizesmall, () -> { - filters.remove(filter); - rebuildFilters(); - update(); - }); - }).growX(); - }).fillX(); - filterTable.row(); - filterTable.table("underline", f -> { - f.left(); - for(FilterOption option : filter.options){ - option.changed = this::update; + }).fillX(); + c.row(); + //all the options + c.table(f -> { + f.left(); + for(FilterOption option : filter.options){ + option.changed = this::update; - f.table(t -> { - t.left(); - option.build(t); - }).growX().left(); - f.row(); - } - }).pad(3).padTop(0).width(280f); + f.table(t -> { + t.left(); + option.build(t); + }).growX().left(); + f.row(); + } + }).grow().left().pad(2); + }).width(280f).pad(3); filterTable.row(); } diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index 79e141fe34..4802d7f855 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -237,9 +237,7 @@ public class MapView extends Element implements GestureListener{ Draw.color(Pal.remove); Lines.stroke(2f); Lines.rect(centerx - sclwidth / 2 - 1, centery - sclheight / 2 - 1, sclwidth + 2, sclheight + 2); - if(Core.scene.getKeyboardFocus() != null && isDescendantOf(Core.scene.getKeyboardFocus())){ - editor.renderer().draw(centerx - sclwidth / 2, centery - sclheight / 2, sclwidth, sclheight); - } + editor.renderer().draw(centerx - sclwidth / 2, centery - sclheight / 2, sclwidth, sclheight); Draw.reset(); if(!ScissorStack.pushScissors(rect.set(x, y, width, height))){ diff --git a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java index 6b4c2e80d0..3c6e4edf4b 100644 --- a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java @@ -134,8 +134,8 @@ public class WaveInfoDialog extends FloatingDialog{ if(groups != null){ for(SpawnGroup group : groups){ - table.table("clear", t -> { - t.margin(6f).defaults().pad(2).padLeft(5f).growX().left(); + table.table("button", t -> { + t.margin(0).defaults().pad(3).padLeft(5f).growX().left(); t.addButton(b -> { b.left(); b.addImage(group.type.iconRegion).size(30f).padRight(3); @@ -202,7 +202,7 @@ public class WaveInfoDialog extends FloatingDialog{ t.remove(); updateWaves(); }).growX().pad(-6f).padTop(5); - }).width(340f).pad(5); + }).width(340f).pad(16); table.row(); } }else{ diff --git a/core/src/io/anuke/mindustry/graphics/Pal.java b/core/src/io/anuke/mindustry/graphics/Pal.java index 2647ab068c..40c4867abc 100644 --- a/core/src/io/anuke/mindustry/graphics/Pal.java +++ b/core/src/io/anuke/mindustry/graphics/Pal.java @@ -56,6 +56,7 @@ public class Pal{ accentBack = Color.valueOf("d4816b"), place = Color.valueOf("6335f8"), remove = Color.valueOf("e55454"), + noplace = Color.valueOf("ffa697"), removeBack = Color.valueOf("a73e3e"), placeRotate = accent, breakInvalid = Color.valueOf("d44b3d"), diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index a8cf4708b9..d167fddd53 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -174,7 +174,7 @@ public class MapsDialog extends FloatingDialog{ table.row(); - table.addImageTextButton("$editor.openin", "icon-load-map", iconsize, () -> { + table.addImageTextButton("$editor.openin", "icon-load-map-small", iconsizesmall, () -> { try{ Vars.ui.editor.beginEditMap(map.file); dialog.hide(); @@ -185,7 +185,7 @@ public class MapsDialog extends FloatingDialog{ } }).fillX().height(54f).marginLeft(10); - table.addImageTextButton("$delete", "icon-trash-16", iconsize, () -> { + table.addImageTextButton("$delete", "icon-trash-16-small", iconsizesmall, () -> { ui.showConfirm("$confirm", Core.bundle.format("map.delete", map.name()), () -> { world.maps.removeMap(map); dialog.hide(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java index 4fb91b6e7c..d26477693a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java @@ -20,6 +20,7 @@ import io.anuke.arc.util.Align; import io.anuke.mindustry.content.TechTree; import io.anuke.mindustry.content.TechTree.TechNode; import io.anuke.mindustry.graphics.Pal; +import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.ui.ItemsDisplay; import io.anuke.mindustry.ui.TreeLayout; @@ -266,7 +267,7 @@ public class TechTreeDialog extends FloatingDialog{ for(ItemStack req : node.requirements){ t.table(list -> { list.left(); - list.addImage(req.item.getContentIcon()).size(8 * 3).padRight(3); + list.addImage(req.item.icon(Item.Icon.medium)).size(8 * 3).padRight(3); list.add(req.item.localizedName()).color(Color.LIGHT_GRAY); list.label(() -> " " + Math.min(data.getItem(req.item), req.amount) + " / " + req.amount) .update(l -> l.setColor(data.has(req.item, req.amount) ? Color.LIGHT_GRAY : Color.SCARLET)); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java index 77154d0c6a..635f4dd2e0 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ZoneInfoDialog.java @@ -73,8 +73,7 @@ public class ZoneInfoDialog extends FloatingDialog{ for(ZoneRequirement other : zone.zoneRequirements){ r.addImage("icon-terrain").padRight(4); r.add(Core.bundle.format("zone.requirement", other.wave, other.zone.localizedName())).color(Color.LIGHT_GRAY); - r.addImage(other.zone.bestWave() >= other.wave ? "icon-check" : "icon-cancel") - .color(other.zone.bestWave() >= other.wave ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3); + r.addImage(other.zone.bestWave() >= other.wave ? "icon-check-small" : "icon-cancel-small", other.zone.bestWave() >= other.wave ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3); r.row(); } }); @@ -89,8 +88,7 @@ public class ZoneInfoDialog extends FloatingDialog{ for(Block block : zone.blockRequirements){ r.addImage(block.icon(Icon.small)).size(8 * 3).padRight(4); r.add(block.localizedName).color(Color.LIGHT_GRAY); - r.addImage(data.isUnlocked(block) ? "icon-check" : "icon-cancel") - .color(data.isUnlocked(block) ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3); + r.addImage(data.isUnlocked(block) ? "icon-check-small" : "icon-cancel-small", data.isUnlocked(block) ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3); r.row(); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index 9fe42faa45..f3d47d61e8 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -11,6 +11,7 @@ import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.style.TextureRegionDrawable; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.game.EventType.UnlockEvent; import io.anuke.mindustry.game.EventType.WorldLoadEvent; @@ -151,7 +152,8 @@ public class PlacementFragment extends Fragment{ button.update(() -> { //color unplacable things gray TileEntity core = player.getClosestCore(); - Color color = state.rules.infiniteResources || (core != null && (core.items.has(block.buildRequirements, state.rules.buildCostMultiplier) || state.rules.infiniteResources)) ? Color.WHITE : Color.GRAY; + Color color = block.buildVisibility == Blocks.padVisible && !block.buildVisibility.get() ? Pal.noplace : + state.rules.infiniteResources || (core != null && (core.items.has(block.buildRequirements, state.rules.buildCostMultiplier) || state.rules.infiniteResources)) ? Color.WHITE : Color.GRAY; button.forEach(elem -> elem.setColor(color)); button.setChecked(input.block == block); }); @@ -201,6 +203,10 @@ public class PlacementFragment extends Fragment{ header.addButton("?", "clear-partial", () -> ui.content.show(lastDisplay)) .size(8 * 5).padTop(-5).padRight(-5).right().grow(); } + if(lastDisplay.buildVisibility == Blocks.padVisible && !lastDisplay.buildVisibility.get()){ + header.row(); + header.add("$attackpvponly").width(230f).wrap().colspan(3).left(); + } }).growX().left(); topTable.row(); //add requirement table @@ -298,7 +304,7 @@ public class PlacementFragment extends Fragment{ Array getByCategory(Category cat){ returnArray.clear(); for(Block block : content.blocks()){ - if(block.buildCategory == cat && block.isVisible()){ + if(block.buildCategory == cat && (block.isVisible() || block.buildVisibility == Blocks.padVisible)){ returnArray.add(block); } }