diff --git a/src/unitinfo/SUtils.java b/src/unitinfo/SUtils.java index 3c86426..c33e331 100644 --- a/src/unitinfo/SUtils.java +++ b/src/unitinfo/SUtils.java @@ -4,27 +4,19 @@ import arc.graphics.g2d.*; import arc.math.Mathf; import arc.scene.style.*; import arc.struct.Seq; -import arc.util.Nullable; -import arc.util.Strings; +import arc.util.*; import mindustry.Vars; import mindustry.core.UI; -import mindustry.entities.bullet.BulletType; -import mindustry.entities.bullet.LightningBulletType; -import mindustry.gen.BlockUnitUnit; -import mindustry.gen.Groups; -import mindustry.gen.Teamc; -import mindustry.gen.Unit; +import mindustry.entities.bullet.*; +import mindustry.gen.*; import mindustry.type.UnitType; -import mindustry.type.weapons.PointDefenseWeapon; -import mindustry.type.weapons.RepairBeamWeapon; +import mindustry.type.weapons.*; import mindustry.world.Tile; import java.lang.reflect.*; -import static unitinfo.SVars.locked; -import static unitinfo.SVars.target; -import static arc.Core.input; -import static arc.Core.settings; +import static unitinfo.SVars.*; +import static arc.Core.*; import static mindustry.Vars.player; public class SUtils { @@ -84,7 +76,7 @@ public class SUtils { return b.speed * a * Mathf.pow(1 - b.drag, b.lifetime / 2) * b.lifetime + Math.max(b.lightning > 0 || b instanceof LightningBulletType ? (b.lightningLength + b.lightningLengthRand) * 6 : 0, b.fragBullet != null ? bulletRange(b.fragBullet) * b.fragLifeMax * b.fragVelocityMax : b.splashDamageRadius); - }; + } public static float unitRange(UnitType u) { final float[] mrng = {0}; @@ -100,4 +92,14 @@ public class SUtils { field.setAccessible(true); return field.get(ut); } + + + public static boolean isOutCamera(float x, float y) { + return !isInCamera(x, y, 0); + } + + public static boolean isInCamera(float x, float y, float size) { + Tmp.r2.setCentered(x, y, size); + return Tmp.r1.overlaps(Tmp.r2); + } } diff --git a/src/unitinfo/SVars.java b/src/unitinfo/SVars.java index 0da5c2c..538ad3a 100644 --- a/src/unitinfo/SVars.java +++ b/src/unitinfo/SVars.java @@ -1,8 +1,6 @@ package unitinfo; -import unitinfo.core.*; -import unitinfo.shaders.LineShader; -import unitinfo.shaders.RangeShader; +import unitinfo.shaders.*; import arc.graphics.g2d.TextureRegion; import mindustry.gen.Teamc; @@ -11,10 +9,8 @@ import static arc.Core.atlas; public class SVars { public static TextureRegion clear = atlas.find("clear"); public static TextureRegion error = atlas.find("error"); - public static RangeShader turretRange; - public static LineShader lineShader; + public static RangeShader turretRange = new RangeShader(); public static Teamc target; public static boolean locked; - public static boolean jsonGen = false; public static float uiResumeRate = 3 * 60f; //default 3s } diff --git a/src/unitinfo/core/ContentJSON.java b/src/unitinfo/core/ContentJSON.java deleted file mode 100644 index e56624c..0000000 --- a/src/unitinfo/core/ContentJSON.java +++ /dev/null @@ -1,109 +0,0 @@ -package unitinfo.core; - -import arc.Core; -import arc.struct.Seq; -import arc.util.*; -import mindustry.*; -import mindustry.ctype.*; -import mindustry.entities.abilities.*; -import mindustry.entities.bullet.*; -import mindustry.type.*; -import mindustry.world.*; -import org.hjson.*; - -import java.lang.reflect.*; - -import static mindustry.Vars.modDirectory; - -public class ContentJSON { - static JsonValue parse(Object object) { - if(object instanceof Integer val) return JsonObject.valueOf(val); - else if(object instanceof Double val) return JsonObject.valueOf(val); - else if(object instanceof Float val) return JsonObject.valueOf(val); - else if(object instanceof Long val) return JsonObject.valueOf(val); - else if(object instanceof String val) return JsonObject.valueOf(val); - else if(object instanceof Boolean val) return JsonObject.valueOf(val); - else if(object instanceof Content) { - if(object instanceof Block c) return getContent(c, Block.class, new JsonObject()); - if(object instanceof BulletType c) return getContent(c, BulletType.class, new JsonObject()); - if(object instanceof Item c) return getContent(c, Item.class, new JsonObject()); - if(object instanceof Liquid c) return getContent(c, Liquid.class, new JsonObject()); - if(object instanceof UnitType c) return getContent(c, UnitType.class, new JsonObject()); - if(object instanceof Weather c) return getContent(c, Weather.class, new JsonObject()); - } - else if(object instanceof Weapon val) return getContent(val, new JsonObject()); - else if(object instanceof Ability val) return getContent(val, new JsonObject()); - else if(object instanceof Seq seq && seq.any()) { - JsonArray array = new JsonArray(); - for(int i = 0; i < seq.size; i++) { - if(seq.get(i) != null) array.add(parse(seq.get(i))); - } - return array; - } - else { - if(object.getClass().isArray()) { - JsonArray array = new JsonArray(); - for(int i = 0; i < Array.getLength(object); i++) { - if(Array.get(object, i) != null) array.add(parse(Array.get(object, i))); - } - return array; - } - } - return JsonObject.valueOf(object.toString()); - } - - static JsonObject getContent(T cont, JsonObject obj) { - return getContent(cont, cont.getClass(), obj); - } - - static JsonObject getContent(Object cont, Class objClass, JsonObject obj) { - obj.add("type", objClass.getName()); - for(Field field : objClass.getFields()){ - if(Modifier.isStatic(field.getModifiers())) continue; - try { - String name = field.getName(); - Object object = field.get(cont); - Object preval = obj.get(name); - if(preval != null) obj.set(name, preval + " or " + object); - else { - if(object == null) obj.add(name, "null"); - else if(!cont.getClass().isAssignableFrom(field.get(cont).getClass()) && !field.get(cont).getClass().isAssignableFrom(cont.getClass())){ - obj.add(name, parse(object)); - } - } - } catch(Throwable e) { - try { - Log.info(e + " ### " + cont + " ### " + objClass + " ### " + cont.getClass() + " ### " + field.get(cont)); - } catch (IllegalAccessException ex) { - ex.printStackTrace(); - } - obj.add(field.getName(), "### ERROR ###"); - } - } - - return obj; - } - - static void save() { - for(Seq content : Vars.content.getContentMap()) { - if(content.isEmpty()) continue; - - JsonObject data = new JsonObject(); - content.each(cont -> { - JsonObject obj = new JsonObject(); - getContent(cont, obj); - - String name = cont.toString(); - if(cont instanceof MappableContent mapCont) name = mapCont.name; - data.add(name, obj); - }); - try { - modDirectory.child("unitinfo").child(content.peek().getContentType().toString() + ".json").writeString(data.toString(Stringify.FORMATTED)); - } catch (Throwable e){ - Log.warn(e.getMessage()); - } - } - Log.info("JSON file is completely updated!"); - Core.app.exit(); - } -} diff --git a/src/unitinfo/ui/EditorTool.java b/src/unitinfo/core/EditorTool.java similarity index 97% rename from src/unitinfo/ui/EditorTool.java rename to src/unitinfo/core/EditorTool.java index d3bc14c..15fff2c 100644 --- a/src/unitinfo/ui/EditorTool.java +++ b/src/unitinfo/core/EditorTool.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package unitinfo.core; import arc.func.Boolf; import arc.func.Cons; @@ -12,10 +12,9 @@ import mindustry.content.Blocks; import mindustry.game.Team; import mindustry.world.Block; import mindustry.world.Tile; -import unitinfo.ui.windows.MapEditorDisplay; +import unitinfo.ui.windows.*; -import static unitinfo.ui.windows.MapEditorDisplay.drawTeam; -import static unitinfo.ui.windows.MapEditorDisplay.drawBlock; +import static unitinfo.ui.windows.MapEditorWindow.*; import static unitinfo.ui.windows.Windows.editorTable; import static mindustry.Vars.world; @@ -114,7 +113,7 @@ public enum EditorTool{ Boolf tester; Cons setter; - Block drawBlock = MapEditorDisplay.drawBlock; + Block drawBlock = MapEditorWindow.drawBlock; if(drawBlock.isOverlay()){ Block dest = tile.overlay(); diff --git a/src/unitinfo/core/Main.java b/src/unitinfo/core/Main.java index a3d1a89..f31e9cb 100644 --- a/src/unitinfo/core/Main.java +++ b/src/unitinfo/core/Main.java @@ -1,29 +1,22 @@ package unitinfo.core; import arc.input.KeyCode; -import arc.scene.ui.layout.Table; -import unitinfo.shaders.*; import unitinfo.ui.*; import unitinfo.ui.draws.OverDraws; import unitinfo.ui.windows.*; import arc.*; -import arc.struct.*; import mindustry.*; import mindustry.game.EventType.*; import mindustry.mod.*; import static unitinfo.SVars.*; import static arc.Core.*; -import static mindustry.Vars.*; import static unitinfo.SUtils.*; -import static unitinfo.ui.windows.WindowManager.windows; +import static unitinfo.ui.WindowManager.windows; public class Main extends Mod { @Override public void init(){ - turretRange = new RangeShader(); - lineShader = new LineShader(); - Core.app.post(() -> { Mods.ModMeta meta = Vars.mods.locateMod("unitinfo").meta; meta.displayName = "[#B5FFD9]Unit Information[]"; @@ -31,49 +24,34 @@ public class Main extends Mod { meta.description = bundle.get("shar-description"); }); - Events.run(Trigger.class, () -> { + Events.run(Trigger.update, () -> { try { BarInfo.getInfo(getTarget()); } catch (IllegalAccessException | NoSuchFieldException err) { err.printStackTrace(); } - }); - Events.run(Trigger.update, () -> { target = getTarget(); for (Window window : windows) { if(window instanceof Updatable u) u.update(); } if((input.keyDown(KeyCode.shiftRight) || input.keyDown(KeyCode.shiftLeft))) { - if(input.keyTap(KeyCode.r)) lockTarget(); + if(input.keyTap(KeyCode.r)) { + if(target==getTarget()) locked = !locked; + target = getTarget(); + }; } }); Events.on(ClientLoadEvent.class, e -> { Windows.load(); + SettingS.init(); WindowManager.init(); + DisplayManager.init(); OverDraws.init(); - OverDrawer.setEvent(); - - Seq.with(scene.root, - ui.picker, ui.editor, ui.controls, ui.restart, ui.join, ui.discord, - ui.load, ui.custom, ui.language, ui.database, ui.settings, ui.host, - ui.paused, ui.about, ui.bans, ui.admins, ui.traces, ui.maps, ui.content, - ui.planet, ui.research, ui.mods, ui.schematics, ui.logic - ).each(dialog-> dialog.addChild(new ElementDisplay(dialog))); - - Table table = ((Table) scene.find("minimap/position")).row(); - table.add(new SchemDisplay()); - new WaveInfoDisplay().addWaveInfoTable(); - - if(jsonGen) ContentJSON.save(); + OverDrawer.init(); }); } - - public static void lockTarget() { - if(target==getTarget()) locked = !locked; - target = getTarget(); - } } diff --git a/src/unitinfo/core/OverDrawer.java b/src/unitinfo/core/OverDrawer.java index 9a9c19c..f013ec1 100644 --- a/src/unitinfo/core/OverDrawer.java +++ b/src/unitinfo/core/OverDrawer.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class OverDrawer { - public static void setEvent(){ + public static void init(){ Events.run(EventType.Trigger.draw, () -> { float sin = Mathf.absin(Time.time, 6f, 1f); @@ -67,13 +67,4 @@ public class OverDrawer { for(OverDraw drawer : OverDraws.all) drawer.draw(); }); } - - public static boolean isOutCamera(float x, float y) { - return !isInCamera(x, y, 0); - } - - public static boolean isInCamera(float x, float y, float size) { - Tmp.r2.setCentered(x, y, size); - return Tmp.r1.overlaps(Tmp.r2); - } } diff --git a/src/unitinfo/shaders/LineShader.java b/src/unitinfo/shaders/LineShader.java deleted file mode 100644 index 3584b4b..0000000 --- a/src/unitinfo/shaders/LineShader.java +++ /dev/null @@ -1,24 +0,0 @@ -package unitinfo.shaders; - -import arc.Core; -import arc.graphics.gl.Shader; -import arc.scene.ui.layout.Scl; -import arc.util.Time; -import mindustry.Vars; - -public class LineShader extends Shader { - public LineShader() { - super(Core.files.internal("shaders/screenspace.vert"), Vars.tree.get("shaders/line.frag")); - } - - @Override - public void apply(){ - setUniformf("u_dp", Scl.scl(1f)); - setUniformf("u_time", Time.time / Scl.scl(1f)); - setUniformf("u_offset", - Core.camera.position.x - Core.camera.width / 2, - Core.camera.position.y - Core.camera.height / 2); - setUniformf("u_texsize", Core.camera.width, Core.camera.height); - setUniformf("u_invsize", 1f/Core.camera.width, 1f/Core.camera.height); - } -} diff --git a/src/unitinfo/ui/DisplayManager.java b/src/unitinfo/ui/DisplayManager.java new file mode 100644 index 0000000..2439a5e --- /dev/null +++ b/src/unitinfo/ui/DisplayManager.java @@ -0,0 +1,28 @@ +package unitinfo.ui; + +import arc.scene.ui.layout.Table; +import arc.struct.Seq; +import unitinfo.ui.display.ElementDisplay; +import unitinfo.ui.display.SchemDisplay; +import unitinfo.ui.display.WaveInfoDisplay; + +import static arc.Core.scene; +import static mindustry.Vars.ui; + +public class DisplayManager { + public static void init() { + //layout debug + Seq.with(scene.root, + ui.picker, ui.editor, ui.controls, ui.restart, ui.join, ui.discord, + ui.load, ui.custom, ui.language, ui.database, ui.settings, ui.host, + ui.paused, ui.about, ui.bans, ui.admins, ui.traces, ui.maps, ui.content, + ui.planet, ui.research, ui.mods, ui.schematics, ui.logic + ).each(dialog-> dialog.addChild(new ElementDisplay(dialog))); + + //schem quick-slot + Table table = ((Table) scene.find("minimap/position")).row(); + table.add(new SchemDisplay()); + new WaveInfoDisplay().addWaveInfoTable(); + + } +} diff --git a/src/unitinfo/ui/windows/WindowManager.java b/src/unitinfo/ui/WindowManager.java similarity index 96% rename from src/unitinfo/ui/windows/WindowManager.java rename to src/unitinfo/ui/WindowManager.java index daaaa35..7c5b9a5 100644 --- a/src/unitinfo/ui/windows/WindowManager.java +++ b/src/unitinfo/ui/WindowManager.java @@ -1,10 +1,11 @@ -package unitinfo.ui.windows; +package unitinfo.ui; import arc.*; import arc.struct.*; import arc.util.*; import mindustry.*; import mindustry.ui.*; +import unitinfo.ui.windows.Window; public class WindowManager { public static Seq windows = new Seq<>(); diff --git a/src/unitinfo/ui/ElementDisplay.java b/src/unitinfo/ui/display/ElementDisplay.java similarity index 98% rename from src/unitinfo/ui/ElementDisplay.java rename to src/unitinfo/ui/display/ElementDisplay.java index 0b24c3b..2ab7467 100644 --- a/src/unitinfo/ui/ElementDisplay.java +++ b/src/unitinfo/ui/display/ElementDisplay.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package unitinfo.ui.display; import arc.graphics.g2d.Draw; import arc.graphics.g2d.Lines; diff --git a/src/unitinfo/ui/SchemDisplay.java b/src/unitinfo/ui/display/SchemDisplay.java similarity index 99% rename from src/unitinfo/ui/SchemDisplay.java rename to src/unitinfo/ui/display/SchemDisplay.java index 3adaa15..63e9e18 100644 --- a/src/unitinfo/ui/SchemDisplay.java +++ b/src/unitinfo/ui/display/SchemDisplay.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package unitinfo.ui.display; import unitinfo.SUtils; import arc.Core; @@ -20,6 +20,7 @@ import mindustry.gen.*; import mindustry.graphics.Pal; import mindustry.ui.Styles; import mindustry.ui.dialogs.*; +import unitinfo.ui.Updatable; import static arc.Core.*; import static mindustry.Vars.*; diff --git a/src/unitinfo/ui/WaveInfoDisplay.java b/src/unitinfo/ui/display/WaveInfoDisplay.java similarity index 99% rename from src/unitinfo/ui/WaveInfoDisplay.java rename to src/unitinfo/ui/display/WaveInfoDisplay.java index f8d0e4e..d75a15d 100644 --- a/src/unitinfo/ui/WaveInfoDisplay.java +++ b/src/unitinfo/ui/display/WaveInfoDisplay.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package unitinfo.ui.display; import arc.scene.ui.layout.*; import arc.util.*; diff --git a/src/unitinfo/ui/draws/BlockDraw.java b/src/unitinfo/ui/draws/BlockDraw.java index 9dbd612..7acacc9 100644 --- a/src/unitinfo/ui/draws/BlockDraw.java +++ b/src/unitinfo/ui/draws/BlockDraw.java @@ -3,7 +3,7 @@ package unitinfo.ui.draws; import arc.scene.style.TextureRegionDrawable; import mindustry.gen.Groups; -import static unitinfo.core.OverDrawer.isInCamera; +import static unitinfo.SUtils.*; import static arc.Core.settings; public class BlockDraw extends OverDraw { diff --git a/src/unitinfo/ui/draws/RangeDraw.java b/src/unitinfo/ui/draws/RangeDraw.java index b186f51..761c355 100644 --- a/src/unitinfo/ui/draws/RangeDraw.java +++ b/src/unitinfo/ui/draws/RangeDraw.java @@ -14,7 +14,7 @@ import mindustry.world.blocks.defense.turrets.TractorBeamTurret; import mindustry.world.blocks.defense.turrets.Turret; import static unitinfo.SVars.turretRange; -import static unitinfo.core.OverDrawer.isInCamera; +import static unitinfo.SUtils.*; import static arc.Core.*; import static mindustry.Vars.player; diff --git a/src/unitinfo/ui/draws/UnitDraw.java b/src/unitinfo/ui/draws/UnitDraw.java index 837a729..7b25272 100644 --- a/src/unitinfo/ui/draws/UnitDraw.java +++ b/src/unitinfo/ui/draws/UnitDraw.java @@ -25,8 +25,7 @@ import mindustry.world.blocks.units.CommandCenter; import java.util.Objects; -import static unitinfo.core.OverDrawer.isInCamera; -import static unitinfo.core.OverDrawer.isOutCamera; +import static unitinfo.SUtils.*; import static arc.Core.settings; import static mindustry.Vars.*; diff --git a/src/unitinfo/ui/windows/CoreDisplay.java b/src/unitinfo/ui/windows/CoreWindow.java similarity index 98% rename from src/unitinfo/ui/windows/CoreDisplay.java rename to src/unitinfo/ui/windows/CoreWindow.java index 23eefff..72635e3 100644 --- a/src/unitinfo/ui/windows/CoreDisplay.java +++ b/src/unitinfo/ui/windows/CoreWindow.java @@ -26,13 +26,13 @@ import mindustry.world.blocks.storage.CoreBlock; import static mindustry.Vars.*; -public class CoreDisplay extends Window implements Updatable { +public class CoreWindow extends Window implements Updatable { Vec2 scrollPos = new Vec2(0, 0); Table window; float heat; ObjectMap itemData = new ObjectMap<>(); - public CoreDisplay() { + public CoreWindow() { super(Icon.list, "core"); resetUsed(); } diff --git a/src/unitinfo/ui/windows/MapEditorDisplay.java b/src/unitinfo/ui/windows/MapEditorWindow.java similarity index 99% rename from src/unitinfo/ui/windows/MapEditorDisplay.java rename to src/unitinfo/ui/windows/MapEditorWindow.java index 7628122..6cbcb4f 100644 --- a/src/unitinfo/ui/windows/MapEditorDisplay.java +++ b/src/unitinfo/ui/windows/MapEditorWindow.java @@ -6,6 +6,7 @@ import arc.math.geom.Geometry; import mindustry.editor.MapEditor; import mindustry.game.EventType; import mindustry.graphics.Layer; +import unitinfo.core.EditorTool; import unitinfo.ui.*; import arc.Core; import arc.func.*; @@ -30,7 +31,7 @@ import mindustry.world.*; import static mindustry.Vars.*; -public class MapEditorDisplay extends Window implements Updatable { +public class MapEditorWindow extends Window implements Updatable { Vec2 scrollPos = new Vec2(0, 0); Table window; TextField search; @@ -45,7 +46,7 @@ public class MapEditorDisplay extends Window implements Updatable { public static Team drawTeam = Team.sharded; public static Block drawBlock = Blocks.router; - public MapEditorDisplay() { + public MapEditorWindow() { super(Icon.map, "editor"); for(int i = 0; i < MapEditor.brushSizes.length; i++){ diff --git a/src/unitinfo/ui/windows/PlayerDisplay.java b/src/unitinfo/ui/windows/PlayerWindow.java similarity index 97% rename from src/unitinfo/ui/windows/PlayerDisplay.java rename to src/unitinfo/ui/windows/PlayerWindow.java index b10b290..c492c4a 100644 --- a/src/unitinfo/ui/windows/PlayerDisplay.java +++ b/src/unitinfo/ui/windows/PlayerWindow.java @@ -20,14 +20,14 @@ import mindustry.ui.*; import static mindustry.Vars.*; -public class PlayerDisplay extends Window implements Updatable { +public class PlayerWindow extends Window implements Updatable { Vec2 scrollPos = new Vec2(0, 0); TextField search; ImageButton.ImageButtonStyle ustyle; @Nullable Player target; float heat; - public PlayerDisplay() { + public PlayerWindow() { super(Icon.players, "player"); } diff --git a/src/unitinfo/ui/windows/ToolDisplay.java b/src/unitinfo/ui/windows/ToolWindow.java similarity index 96% rename from src/unitinfo/ui/windows/ToolDisplay.java rename to src/unitinfo/ui/windows/ToolWindow.java index 651ff12..3d4381d 100644 --- a/src/unitinfo/ui/windows/ToolDisplay.java +++ b/src/unitinfo/ui/windows/ToolWindow.java @@ -13,12 +13,12 @@ import mindustry.gen.Tex; import mindustry.graphics.Pal; import mindustry.ui.Styles; -public class ToolDisplay extends Window implements Updatable { +public class ToolWindow extends Window implements Updatable { Vec2 scrollPos = new Vec2(0, 0); OverDraw selected; float heat; - public ToolDisplay() { + public ToolWindow() { super(Icon.edit, "tool"); } diff --git a/src/unitinfo/ui/windows/UnitDisplay.java b/src/unitinfo/ui/windows/UnitWindow.java similarity index 98% rename from src/unitinfo/ui/windows/UnitDisplay.java rename to src/unitinfo/ui/windows/UnitWindow.java index d34519f..42db370 100644 --- a/src/unitinfo/ui/windows/UnitDisplay.java +++ b/src/unitinfo/ui/windows/UnitWindow.java @@ -30,12 +30,12 @@ import static unitinfo.SVars.*; import static unitinfo.SUtils.*; import static mindustry.Vars.*; -class UnitDisplay extends Window { +class UnitWindow extends Window { final Seq lastColors = Seq.with(Color.clear,Color.clear,Color.clear,Color.clear,Color.clear,Color.clear); final Rect scissor = new Rect(); Vec2 scrollPos; - public UnitDisplay() { + public UnitWindow() { super(Icon.units, "unit"); } @@ -69,7 +69,10 @@ class UnitDisplay extends Window { } image.setDrawable(region); }); - image.clicked(Main::lockTarget); + image.clicked(()->{ + if(target==getTarget()) locked = !locked; + target = getTarget(); + }); tt.add(image).size(iconMed).padRight(12f); tt.label(() -> { diff --git a/src/unitinfo/ui/windows/WaveDisplay.java b/src/unitinfo/ui/windows/WaveWindow.java similarity index 97% rename from src/unitinfo/ui/windows/WaveDisplay.java rename to src/unitinfo/ui/windows/WaveWindow.java index bf5e847..301126d 100644 --- a/src/unitinfo/ui/windows/WaveDisplay.java +++ b/src/unitinfo/ui/windows/WaveWindow.java @@ -26,12 +26,12 @@ import static arc.Core.settings; import static mindustry.Vars.*; -public class WaveDisplay extends Window implements Updatable { +public class WaveWindow extends Window implements Updatable { static Vec2 scrollPos = new Vec2(0, 0); Table window; float heat; - public WaveDisplay() { + public WaveWindow() { super(Icon.waves, "wave"); } @@ -44,8 +44,8 @@ public class WaveDisplay extends Window implements Updatable { table.add(pane).grow().name("wave-pane").row(); table.table(total -> { total.left(); - - total.field("~"+state.wave+" + "+settings.getInt("wavemax"), f->{ + total.label(()->"~"+state.wave+"+"); + total.field(""+settings.getInt("wavemax"), f->{ String str = f.replaceAll("\\D", ""); if(str.isEmpty()) settings.put("wavemax", 0); else settings.put("wavemax", Integer.parseInt(str)); diff --git a/src/unitinfo/ui/windows/Window.java b/src/unitinfo/ui/windows/Window.java index 7883ad2..fe14e4c 100644 --- a/src/unitinfo/ui/windows/Window.java +++ b/src/unitinfo/ui/windows/Window.java @@ -10,6 +10,7 @@ import arc.scene.ui.layout.*; import arc.util.*; import mindustry.gen.*; import mindustry.ui.*; +import unitinfo.ui.WindowManager; public class Window extends Table{ public TextureRegionDrawable icon; diff --git a/src/unitinfo/ui/windows/Windows.java b/src/unitinfo/ui/windows/Windows.java index 8ed8bfa..7d58029 100644 --- a/src/unitinfo/ui/windows/Windows.java +++ b/src/unitinfo/ui/windows/Windows.java @@ -2,18 +2,17 @@ package unitinfo.ui.windows; import arc.util.*; import mindustry.gen.*; -import unitinfo.ui.windows.*; public class Windows { - public static MapEditorDisplay editorTable; + public static MapEditorWindow editorTable; public static void load(){ - new UnitDisplay(); - new WaveDisplay(); - new CoreDisplay(); - new PlayerDisplay(); - new ToolDisplay(); - editorTable = new MapEditorDisplay(); + new UnitWindow(); + new WaveWindow(); + new CoreWindow(); + new PlayerWindow(); + new ToolWindow(); + editorTable = new MapEditorWindow(); new Window(Icon.box, "test-window", t -> { t.labelWrap(() -> t.parent.x + ", " + t.parent.y).top().right().growX(); t.row();