diff --git a/README.md b/README.md index 1249cc1..7392140 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# Unit Information -[![GitHub all releases](https://img.shields.io/github/downloads/sharlottes/unitinfo/total?color=ffd700&label=UnitInfo&style=flat-square)](https://github.com/Sharlottes/unitinfo/) +# Informatis +[![GitHub all releases](https://img.shields.io/github/downloads/sharlottes/informatis/total?color=ffd700&label=informatis&style=flat-square)](https://github.com/Sharlottes/informatis/) -[![Java CI with Gradle](https://github.com/sharlottes/unitinfo/workflows/Java%20CI%20with%20Gradle/badge.svg)](https://github.com/sharlottes/unitinfo/actions) +[![Java CI with Gradle](https://github.com/sharlottes/informatis/workflows/Java%20CI%20with%20Gradle/badge.svg)](https://github.com/sharlottes/informatis/actions) [![Discord](https://img.shields.io/discord/704355237246402721.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=_de_Discord)](https://discord.gg/RCCVQFW) [![Discord](https://img.shields.io/discord/715883181215055874.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=my_Discord)](https://discord.gg/cGVae6gwdW) [![GitHub all releases](https://img.shields.io/github/downloads/anuken/mindustry/total?label=Made%20on%20Mindustry&style=flat-square)](https://github.com/Anuken/Mindustry/) -[![GitHub Repo stars](https://img.shields.io/github/stars/sharlottes/unitinfo?label=Please%20star%20me%21&style=social)](https://github.com/sharlottes/unitinfo/stargazers) +[![GitHub Repo stars](https://img.shields.io/github/stars/sharlottes/informatis?label=Please%20star%20me%21&style=social)](https://github.com/sharlottes/informatis/stargazers) This mod displays some extra information about units, waves, cores, and tiles. diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 530af76..65abd86 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -72,7 +72,7 @@ setting.elementdebug.description = Show all Element outline setting.hiddenElem.name = Display hidden element setting.hiddenElem.description = display hidden element outline too. -setting.shar-title = unitinfo Settings +setting.shar-title = Informatis Settings setting.shar-ui = Overlay UI Settings setting.shar-draw = Overdrawing Settings diff --git a/assets/bundles/bundle_ko.properties b/assets/bundles/bundle_ko.properties index 529fe18..47505ae 100644 --- a/assets/bundles/bundle_ko.properties +++ b/assets/bundles/bundle_ko.properties @@ -89,7 +89,7 @@ setting.hiddenElem.description = 숨겨진 요소의 외곽선도 표시합니 setting.autoShooting.name = 자동 사격 활성화 setting.autoShooting.description = -setting.shar-title = unitinfo 설정 +setting.shar-title = Informatis 설정 setting.shar-ui = 정보UI 설정 setting.shar-range = 자동 사거리 설정 setting.shar-opacity = 투명도 설정 diff --git a/assets/bundles/bundle_ru.properties b/assets/bundles/bundle_ru.properties index b97cee9..aa1932f 100644 --- a/assets/bundles/bundle_ru.properties +++ b/assets/bundles/bundle_ru.properties @@ -77,7 +77,7 @@ setting.distanceLine.description = display dotted lines and numbers how far away setting.autoShooting.name = Включить автострельбу. setting.autoShooting.description = [red]не читери, не будь какахой -setting.shar-title = Настройки unitinfo +setting.shar-title = Настройки informatis setting.shar-wave = InfoTap Setting setting.shar-range = AutoRange Setting setting.shar-opacity = Opacity Setting diff --git a/assets/bundles/bundle_tr.properties b/assets/bundles/bundle_tr.properties index c1c0569..ffc64dc 100644 --- a/assets/bundles/bundle_tr.properties +++ b/assets/bundles/bundle_tr.properties @@ -83,7 +83,7 @@ setting.spawnerarrow.description = setting.autoShooting.name = Enable Auto Shooting setting.autoShooting.description = no don't do hack -setting.shar-title = unitinfo Ayarları +setting.shar-title = informatis Ayarları setting.shar-ui = Arayüz Ayarları setting.shar-range = Oto-Uzaklık Ayarları setting.shar-opacity = Opaklık Ayarları diff --git a/assets/bundles/bundle_uk_UA.properties b/assets/bundles/bundle_uk_UA.properties index 4131a6b..59f6b89 100644 --- a/assets/bundles/bundle_uk_UA.properties +++ b/assets/bundles/bundle_uk_UA.properties @@ -86,7 +86,7 @@ setting.spawnerarrow.description = Показує стрілку, направл setting.autoShooting.name = Увімкнути автострільбу setting.autoShooting.description = Не треба, ти ж не гакер. -setting.shar-title = Налаштування unitinfo +setting.shar-title = Налаштування informatis setting.shar-ui = Налаштування накладання інтерфейсу setting.shar-range = Налаштування автоматичного діапазону setting.shar-opacity = Налаштування прозорості diff --git a/assets/mod.json b/assets/mod.json index 7f2697a..faaefe6 100644 --- a/assets/mod.json +++ b/assets/mod.json @@ -1,11 +1,11 @@ { - "name": "unitinfo", - "displayName": "Unit Information", + "name": "informatis", + "displayName": "Informatis", "author": "Sharlotte", "description": "The mod displays more information in-game, such as unit/building, wave, core, tile, item/unit total info etc", - "version": "1.5.5", - "main": "unitinfo.core.Main", - "minGameVersion": "135", + "version": "1.6", + "main": "informatis.core.Main", + "minGameVersion": "136", "dependencies": [], "hidden": true, "java": true diff --git a/build.bat b/build.bat index 6414242..844fb1f 100644 --- a/build.bat +++ b/build.bat @@ -1,10 +1,10 @@ @rem put this project path into PATH_FROM setlocal -set PATH_FROM=C:\Users\user\Documents\GitHub\UnitInfo +set PATH_FROM=C:\Users\user\Documents\GitHub\Informatis @rem put your mindustry local path into PATH_TO setlocal set PATH_TO=C:\Users\user\AppData\Roaming\Mindustry -if exist %PATH_TO%\mods\UnitInfo.jar del %PATH_TO%\mods\UnitInfo.jar -xcopy %PATH_FROM%\build\libs\UnitInfo.jar %PATH_TO%\mods\ /k /y -del %PATH_FROM%\build\libs\UnitInfo.jar \ No newline at end of file +if exist %PATH_TO%\mods\UnitInfo.jar del %PATH_TO%\mods\Informatis.jar +xcopy %PATH_FROM%\build\libs\Informatis.jar %PATH_TO%\mods\ /k /y +del %PATH_FROM%\build\libs\Informatis.jar \ No newline at end of file diff --git a/build.gradle b/build.gradle index c0359d2..ebe47d6 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,6 @@ plugins { } group pGroup - version '1.0' sourceSets.main { @@ -29,13 +28,12 @@ jar { dependencies { annotationProcessor 'com.github.Anuken:jabel:34e4c172e65b3928cd9eabe1993654ea79c409cd' - compileOnly "com.github.Anuken.Arc:arc-core:$pMindustryVersion" - compileOnly "com.github.Anuken.Mindustry:core:$pMindustryVersion" - implementation 'org.hjson:hjson:3.0.0' + compileOnly "com.github.Anuken.MindustryJitpack:core:3ffa59efb6" + compileOnly "com.github.Anuken.Arc:arc-core:dfcb21ce56" } task dexify(type: Jar) { - archiveName "dexed-$pArtifactFilename" + archiveName "$pArtifactFilename" final File jarArtifact = new File(tasks.jar.archiveFile.get().asFile.parent, pArtifactFilename), dexedArtifact = new File(tasks.dexify.getTemporaryDir(), "dexed.jar") @@ -59,7 +57,7 @@ task buildDex dependsOn "build", "dexify" task buildMove(dependsOn: build) { doLast { copy { - from "build/libs/UnitInfo.jar" + from "build/libs/Informatis.jar" into System.getenv("destination") } } diff --git a/gradle.properties b/gradle.properties index fd22e4e..8fbe9aa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ # Filename of output file (dexify prepends 'dexed-') (people will hate you if it isn't .jar) -pArtifactFilename = unitinfo.jar +pArtifactFilename = Informatis.jar # Group of project (should line up with dirs in src/) pGroup = sharlotte # Version of Mindustry to use (if not working, consult jitpack.io) -pMindustryVersion = v135 +pMindustryVersion = v136 # Minimum API level for d8 (if you don't know what this is, leave it unless d8 yells at you) pMinApi = 26 \ No newline at end of file diff --git a/src/unitinfo/SUtils.java b/src/informatis/SUtils.java similarity index 97% rename from src/unitinfo/SUtils.java rename to src/informatis/SUtils.java index 6a647c3..2cd8cf9 100644 --- a/src/unitinfo/SUtils.java +++ b/src/informatis/SUtils.java @@ -1,4 +1,4 @@ -package unitinfo; +package informatis; import arc.graphics.g2d.*; import arc.math.Mathf; @@ -15,7 +15,7 @@ import mindustry.world.Tile; import java.lang.reflect.*; -import static unitinfo.SVars.*; +import static informatis.SVars.*; import static arc.Core.*; import static mindustry.Vars.player; @@ -80,7 +80,7 @@ public class SUtils { final float[] mrng = {0}; u.weapons.each(w -> w.bullet != null, w -> { mrng[0] = Math.max(mrng[0], (w instanceof RepairBeamWeapon || w instanceof PointDefenseWeapon) ? 0 : bulletRange(w.bullet)); - if(mrng[0] == 0) mrng[0] = w.bullet.range(); + if(mrng[0] == 0) mrng[0] = w.bullet.range; }); return mrng[0]; } diff --git a/src/unitinfo/SVars.java b/src/informatis/SVars.java similarity index 89% rename from src/unitinfo/SVars.java rename to src/informatis/SVars.java index 538ad3a..f1a47dd 100644 --- a/src/unitinfo/SVars.java +++ b/src/informatis/SVars.java @@ -1,6 +1,6 @@ -package unitinfo; +package informatis; -import unitinfo.shaders.*; +import informatis.shaders.*; import arc.graphics.g2d.TextureRegion; import mindustry.gen.Teamc; diff --git a/src/unitinfo/core/BarInfo.java b/src/informatis/core/BarInfo.java similarity index 92% rename from src/unitinfo/core/BarInfo.java rename to src/informatis/core/BarInfo.java index 32a7ce4..94906d7 100644 --- a/src/unitinfo/core/BarInfo.java +++ b/src/informatis/core/BarInfo.java @@ -1,11 +1,10 @@ -package unitinfo.core; +package informatis.core; import arc.graphics.*; import arc.graphics.g2d.TextureRegion; import arc.math.*; import arc.struct.*; import arc.util.*; -import mindustry.ai.types.*; import mindustry.ctype.*; import mindustry.entities.*; import mindustry.entities.abilities.*; @@ -26,11 +25,11 @@ import mindustry.world.consumers.*; import java.lang.reflect.*; -import static unitinfo.SUtils.*; +import static informatis.SUtils.*; import static arc.Core.*; import static mindustry.Vars.*; -import static unitinfo.SVars.*; -import static unitinfo.ui.SIcons.*; +import static informatis.SVars.*; +import static informatis.ui.SIcons.*; public class BarInfo { public static Seq data = new Seq<>(); @@ -38,7 +37,8 @@ public class BarInfo { public static void getInfo(T target) throws IllegalAccessException, NoSuchFieldException { data.clear(); - if(target instanceof Healthc healthc){ + if(target instanceof Healthc){ + Healthc healthc = (Healthc) target; float pro = healthc.health(); data.add(new BarData(bundle.format("shar-stat.health", formatNumber(pro)), Pal.health, pro, health)); } @@ -49,11 +49,11 @@ public class BarInfo { if(ability == null) return 0; return ability.max; }).abilities.find(abil -> abil instanceof ShieldRegenFieldAbility)).max; - float commands = Groups.unit.count(u -> u.controller() instanceof FormationAI && ((FormationAI)u.controller()).leader == target); + //float commands = Groups.unit.count(u -> u.controller() instanceof FormationAI && ((FormationAI)u.controller()).leader == target); data.add(new BarData(bundle.format("shar-stat.shield", formatNumber(unit.shield())), Pal.surge, unit.shield() / max, shield)); data.add(new BarData(bundle.format("shar-stat.capacity", unit.stack.item.localizedName, formatNumber(unit.stack.amount), formatNumber(unit.type.itemCapacity)), unit.stack.amount > 0 && unit.stack().item != null ? unit.stack.item.color.cpy().lerp(Color.white, 0.15f) : Color.white, unit.stack.amount / (unit.type.itemCapacity * 1f), item)); - data.add(new BarData(bundle.format("shar-stat.commandUnits", formatNumber(commands), formatNumber(unit.type().commandLimit)), Pal.powerBar.cpy().lerp(Pal.surge.cpy().mul(Pal.lighterOrange), Mathf.absin(Time.time, 7f / (1f + Mathf.clamp(commands / (unit.type().commandLimit * 1f))), 1f)), commands / (unit.type().commandLimit * 1f))); + //data.add(new BarData(bundle.format("shar-stat.commandUnits", formatNumber(commands), formatNumber(unit.type().commandLimit)), Pal.powerBar.cpy().lerp(Pal.surge.cpy().mul(Pal.lighterOrange), Mathf.absin(Time.time, 7f / (1f + Mathf.clamp(commands / (unit.type().commandLimit * 1f))), 1f)), commands / (unit.type().commandLimit * 1f))); if(target instanceof Payloadc pay) data.add(new BarData(bundle.format("shar-stat.payloadCapacity", formatNumber(Mathf.round(Mathf.sqrt(pay.payloadUsed()))), formatNumber(Mathf.round(Mathf.sqrt(unit.type().payloadCapacity)))), Pal.items, pay.payloadUsed() / unit.type().payloadCapacity)); if(state.rules.unitAmmo) data.add(new BarData(bundle.format("shar-stat.ammos", formatNumber(unit.ammo()), formatNumber(unit.type().ammoCapacity)), unit.type().ammoType.color(), unit.ammof())); } @@ -61,8 +61,8 @@ public class BarInfo { else if(target instanceof Building build){ if(build.block.hasLiquids) data.add(new BarData(bundle.format("shar-stat.capacity", build.liquids.currentAmount() < 0.01f ? build.liquids.current().localizedName : bundle.get("bar.liquid"), formatNumber(build.liquids.currentAmount()), formatNumber(build.block.liquidCapacity)), build.liquids.current().color, build.liquids.currentAmount() / build.block.liquidCapacity, liquid)); - if(build.block.hasPower && build.block.consumes.hasPower()){ - ConsumePower cons = build.block.consumes.getPower(); + if(build.block.hasPower && build.block.consumesPower){ + ConsumePower cons = build.block.consPower; data.add(new BarData(bundle.format("shar-stat.power", formatNumber(build.power.status * 60f * (cons.buffered ? cons.capacity : cons.usage)), formatNumber(60f * (cons.buffered ? cons.capacity : cons.usage))), Pal.powerBar, Mathf.zero(cons.requestedPower(build)) && build.power.graph.getPowerProduced() + build.power.graph.getBatteryStored() > 0f ? 1f : build.power.status, power)); } if(build.block.hasItems) { @@ -76,10 +76,10 @@ public class BarInfo { if(target instanceof ReloadTurret.ReloadTurretBuild || target instanceof MassDriver.MassDriverBuild){ float pro; - if(target instanceof ReloadTurret.ReloadTurretBuild turret) pro = turret.reload / ((Turret)turret.block).reloadTime; + if(target instanceof ReloadTurret.ReloadTurretBuild turret) pro = turret.reloadCounter / ((Turret)turret.block).reload; else { MassDriver.MassDriverBuild mass = (MassDriver.MassDriverBuild) target; - pro = mass.reload; + pro = mass.reloadCounter; } data.add(new BarData(bundle.format("shar-stat.reload", formatNumber(pro * 100f)), Pal.accent.cpy().lerp(Color.orange, pro), pro, reload)); } @@ -134,7 +134,7 @@ public class BarInfo { pro = (float) drill.sense(LAccess.progress); Tmp.c1.set(drill.dominantItem == null ? Pal.items : drill.dominantItem.color); - data.add(new BarData(bundle.format("bar.drillspeed", formatNumber(drill.lastDrillSpeed * 60 * drill.timeScale)), Pal.ammo, drill.warmup)); + data.add(new BarData(bundle.format("bar.drillspeed", formatNumber(drill.lastDrillSpeed * 60 * drill.timeScale())), Pal.ammo, drill.warmup)); } else { GenericCrafter.GenericCrafterBuild crafter = (GenericCrafter.GenericCrafterBuild) target; @@ -166,7 +166,7 @@ public class BarInfo { } else { //TODO: why is this different PowerTurret.PowerTurretBuild turret = (PowerTurret.PowerTurretBuild) target; - max = turret.block.consumes.getPower().usage; + max = turret.block.consPower.usage; value = turret.power.status * turret.power.graph.getLastScaledPowerIn(); } diff --git a/src/unitinfo/core/EditorTool.java b/src/informatis/core/EditorTool.java similarity index 98% rename from src/unitinfo/core/EditorTool.java rename to src/informatis/core/EditorTool.java index cfa6c30..8ecf9cf 100644 --- a/src/unitinfo/core/EditorTool.java +++ b/src/informatis/core/EditorTool.java @@ -1,4 +1,4 @@ -package unitinfo.core; +package informatis.core; import arc.func.Boolf; import arc.func.Cons; @@ -12,10 +12,10 @@ import mindustry.content.Blocks; import mindustry.game.Team; import mindustry.world.Block; import mindustry.world.Tile; -import unitinfo.ui.window.*; +import informatis.ui.window.*; -import static unitinfo.ui.window.MapEditorWindow.*; -import static unitinfo.ui.window.Windows.editorTable; +import static informatis.ui.window.MapEditorWindow.*; +import static informatis.ui.window.Windows.editorTable; import static mindustry.Vars.world; public enum EditorTool{ diff --git a/src/unitinfo/core/Main.java b/src/informatis/core/Main.java similarity index 78% rename from src/unitinfo/core/Main.java rename to src/informatis/core/Main.java index 8a75c15..1df0a48 100644 --- a/src/unitinfo/core/Main.java +++ b/src/informatis/core/Main.java @@ -1,25 +1,25 @@ -package unitinfo.core; +package informatis.core; import arc.input.KeyCode; -import unitinfo.ui.*; -import unitinfo.ui.draws.OverDraws; -import unitinfo.ui.window.*; +import informatis.ui.*; +import informatis.ui.draws.OverDraws; +import informatis.ui.window.*; import arc.*; import mindustry.*; import mindustry.game.EventType.*; import mindustry.mod.*; -import static unitinfo.SVars.*; +import static informatis.SVars.*; import static arc.Core.*; -import static unitinfo.SUtils.*; -import static unitinfo.ui.WindowManager.windows; +import static informatis.SUtils.*; +import static informatis.ui.WindowManager.windows; public class Main extends Mod { @Override public void init(){ Core.app.post(() -> { - Mods.ModMeta meta = Vars.mods.locateMod("unitinfo").meta; - meta.displayName = "[#B5FFD9]Unit Information[]"; + Mods.ModMeta meta = Vars.mods.locateMod("informatis").meta; + meta.displayName = "[#B5FFD9]Informatis[]"; meta.author = "[#B5FFD9]Sharlotte[lightgray]#0018[][]"; meta.description = bundle.get("shar-description"); }); diff --git a/src/unitinfo/core/OverDrawer.java b/src/informatis/core/OverDrawer.java similarity index 97% rename from src/unitinfo/core/OverDrawer.java rename to src/informatis/core/OverDrawer.java index f013ec1..c1f5c6c 100644 --- a/src/unitinfo/core/OverDrawer.java +++ b/src/informatis/core/OverDrawer.java @@ -1,6 +1,6 @@ -package unitinfo.core; +package informatis.core; -import unitinfo.ui.draws.*; +import informatis.ui.draws.*; import arc.*; import arc.graphics.*; import arc.graphics.g2d.*; @@ -12,7 +12,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.ui.*; -import static unitinfo.SVars.*; +import static informatis.SVars.*; import static arc.Core.*; import static mindustry.Vars.*; diff --git a/src/unitinfo/core/SettingS.java b/src/informatis/core/SettingS.java similarity index 98% rename from src/unitinfo/core/SettingS.java rename to src/informatis/core/SettingS.java index 278c36e..adc287b 100644 --- a/src/unitinfo/core/SettingS.java +++ b/src/informatis/core/SettingS.java @@ -1,4 +1,4 @@ -package unitinfo.core; +package informatis.core; import arc.*; import arc.func.*; @@ -122,8 +122,8 @@ public class SettingS { sharset.table(t -> { Seq buttons = new Seq<>(); - buttons.add(new TextButton(bundle.get("setting.shar-ui"), Styles.clearToggleMenut)); - buttons.add(new TextButton(bundle.get("setting.shar-draw"), Styles.clearToggleMenut)); + buttons.add(new TextButton(bundle.get("setting.shar-ui"), Styles.cleart)); + buttons.add(new TextButton(bundle.get("setting.shar-draw"), Styles.cleart)); buttons.each(b -> b.clicked(() -> buttons.each(b1 -> b1.setChecked(b1 == b)))); t.table(Styles.black8, bt -> { bt.top().align(Align.top); diff --git a/src/unitinfo/core/SharSetting.java b/src/informatis/core/SharSetting.java similarity index 95% rename from src/unitinfo/core/SharSetting.java rename to src/informatis/core/SharSetting.java index 2e2874b..290103c 100644 --- a/src/unitinfo/core/SharSetting.java +++ b/src/informatis/core/SharSetting.java @@ -1,4 +1,4 @@ -package unitinfo.core; +package informatis.core; import arc.Core; import arc.scene.ui.layout.Table; diff --git a/src/unitinfo/shaders/RangeShader.java b/src/informatis/shaders/RangeShader.java similarity index 96% rename from src/unitinfo/shaders/RangeShader.java rename to src/informatis/shaders/RangeShader.java index 5f20101..085164d 100644 --- a/src/unitinfo/shaders/RangeShader.java +++ b/src/informatis/shaders/RangeShader.java @@ -1,4 +1,4 @@ -package unitinfo.shaders; +package informatis.shaders; import arc.Core; import arc.graphics.gl.Shader; diff --git a/src/unitinfo/ui/DisplayManager.java b/src/informatis/ui/DisplayManager.java similarity index 84% rename from src/unitinfo/ui/DisplayManager.java rename to src/informatis/ui/DisplayManager.java index 2439a5e..19dd307 100644 --- a/src/unitinfo/ui/DisplayManager.java +++ b/src/informatis/ui/DisplayManager.java @@ -1,10 +1,10 @@ -package unitinfo.ui; +package informatis.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 informatis.ui.display.ElementDisplay; +import informatis.ui.display.SchemDisplay; +import informatis.ui.display.WaveInfoDisplay; import static arc.Core.scene; import static mindustry.Vars.ui; diff --git a/src/unitinfo/ui/FreeBar.java b/src/informatis/ui/FreeBar.java similarity index 99% rename from src/unitinfo/ui/FreeBar.java rename to src/informatis/ui/FreeBar.java index 91c5cf4..a4d202c 100644 --- a/src/unitinfo/ui/FreeBar.java +++ b/src/informatis/ui/FreeBar.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package informatis.ui; import arc.graphics.g2d.*; import arc.math.*; diff --git a/src/unitinfo/ui/OverScrollPane.java b/src/informatis/ui/OverScrollPane.java similarity index 95% rename from src/unitinfo/ui/OverScrollPane.java rename to src/informatis/ui/OverScrollPane.java index 5264d93..fb56bd1 100644 --- a/src/unitinfo/ui/OverScrollPane.java +++ b/src/informatis/ui/OverScrollPane.java @@ -1,9 +1,8 @@ -package unitinfo.ui; +package informatis.ui; import arc.math.geom.Vec2; import arc.scene.Element; import arc.scene.ui.ScrollPane; -import mindustry.ui.Styles; import static arc.Core.input; import static arc.Core.scene; diff --git a/src/unitinfo/ui/SBar.java b/src/informatis/ui/SBar.java similarity index 77% rename from src/unitinfo/ui/SBar.java rename to src/informatis/ui/SBar.java index 1487e76..38e9340 100644 --- a/src/unitinfo/ui/SBar.java +++ b/src/informatis/ui/SBar.java @@ -1,6 +1,6 @@ -package unitinfo.ui; +package informatis.ui; -import unitinfo.SUtils; +import informatis.SUtils; import arc.*; import arc.func.*; import arc.graphics.*; @@ -54,38 +54,38 @@ public class SBar extends Element{ int h = Core.settings.getInt("barstyle"); - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barS"), 10, 10, 9, 9); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barS-top"), 10, 10, 9, 9); - spriteWidth = Core.atlas.find("unitinfo-barS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barS"), 10, 10, 9, 9); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barS-top"), 10, 10, 9, 9); + spriteWidth = Core.atlas.find("informatis-barS").width; if(onedot){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-1dotbar"), 0,0,0,0); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-1dotbar-top"),0,0,0,0); - spriteWidth = Core.atlas.find("unitinfo-1dotbar").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-1dotbar"), 0,0,0,0); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-1dotbar-top"),0,0,0,0); + spriteWidth = Core.atlas.find("informatis-1dotbar").width; } else if(h == 1){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSS"), 14, 14, 19, 19); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSS-top"), 14, 14, 19, 19); - spriteWidth = Core.atlas.find("unitinfo-barSS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSS"), 14, 14, 19, 19); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSS-top"), 14, 14, 19, 19); + spriteWidth = Core.atlas.find("informatis-barSS").width; } else if(h == 2){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSS"), 25, 25, 17, 17); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSS-top"), 25, 25, 17, 17); - spriteWidth = Core.atlas.find("unitinfo-barSSS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSS"), 25, 25, 17, 17); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSS-top"), 25, 25, 17, 17); + spriteWidth = Core.atlas.find("informatis-barSSS").width; } else if(h == 3){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSS"), 25, 25, 17, 17); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSS-top"), 25, 25, 17, 17); - spriteWidth = Core.atlas.find("unitinfo-barSSSS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSS"), 25, 25, 17, 17); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSS-top"), 25, 25, 17, 17); + spriteWidth = Core.atlas.find("informatis-barSSSS").width; } else if(h == 4){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSS"), 27, 27, 16, 16); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSS-top"), 27, 27, 16, 16); - spriteWidth = Core.atlas.find("unitinfo-barSSSSS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSSS"), 27, 27, 16, 16); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSSS-top"), 27, 27, 16, 16); + spriteWidth = Core.atlas.find("informatis-barSSSSS").width; } else if(h == 5){ - bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSSS"), 32, 32, 16, 16); - top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSSS-top"), 32, 32, 16, 16); - spriteWidth = Core.atlas.find("unitinfo-barSSSSSS").width; + bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSSSS"), 32, 32, 16, 16); + top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("informatis-barSSSSSS-top"), 32, 32, 16, 16); + spriteWidth = Core.atlas.find("informatis-barSSSSSS").width; } return this; } diff --git a/src/informatis/ui/SIcons.java b/src/informatis/ui/SIcons.java new file mode 100644 index 0000000..2fa6cf0 --- /dev/null +++ b/src/informatis/ui/SIcons.java @@ -0,0 +1,14 @@ +package informatis.ui; + +import arc.Core; +import arc.graphics.g2d.TextureRegion; + +public class SIcons { + public static TextureRegion health = Core.atlas.find("informatis-health"); + public static TextureRegion shield = Core.atlas.find("informatis-shield"); + public static TextureRegion item = Core.atlas.find("informatis-item"); + public static TextureRegion liquid = Core.atlas.find("informatis-liquid"); + public static TextureRegion power = Core.atlas.find("informatis-power"); + public static TextureRegion ammo = Core.atlas.find("informatis-ammo"); + public static TextureRegion reload = Core.atlas.find("informatis-reload"); +} diff --git a/src/unitinfo/ui/Updatable.java b/src/informatis/ui/Updatable.java similarity index 68% rename from src/unitinfo/ui/Updatable.java rename to src/informatis/ui/Updatable.java index 24fc78c..2a9cec6 100644 --- a/src/unitinfo/ui/Updatable.java +++ b/src/informatis/ui/Updatable.java @@ -1,4 +1,4 @@ -package unitinfo.ui; +package informatis.ui; public interface Updatable { void update(); diff --git a/src/unitinfo/ui/WindowManager.java b/src/informatis/ui/WindowManager.java similarity index 92% rename from src/unitinfo/ui/WindowManager.java rename to src/informatis/ui/WindowManager.java index 451d881..9631ed1 100644 --- a/src/unitinfo/ui/WindowManager.java +++ b/src/informatis/ui/WindowManager.java @@ -1,11 +1,11 @@ -package unitinfo.ui; +package informatis.ui; import arc.*; import arc.struct.*; import arc.util.*; import mindustry.*; import mindustry.ui.*; -import unitinfo.ui.window.Window; +import informatis.ui.window.Window; public class WindowManager { public static Seq windows = new Seq<>(); @@ -22,7 +22,7 @@ public class WindowManager { Vars.ui.hudGroup.fill(t -> { t.center().left(); - t.table(Core.atlas.drawable("unitinfo-sidebar"), b -> { + t.table(Core.atlas.drawable("informatis-sidebar"), b -> { b.name = "Window Buttons"; b.left(); diff --git a/src/unitinfo/ui/display/ElementDisplay.java b/src/informatis/ui/display/ElementDisplay.java similarity index 98% rename from src/unitinfo/ui/display/ElementDisplay.java rename to src/informatis/ui/display/ElementDisplay.java index 2ab7467..f959b94 100644 --- a/src/unitinfo/ui/display/ElementDisplay.java +++ b/src/informatis/ui/display/ElementDisplay.java @@ -1,4 +1,4 @@ -package unitinfo.ui.display; +package informatis.ui.display; import arc.graphics.g2d.Draw; import arc.graphics.g2d.Lines; diff --git a/src/unitinfo/ui/display/SchemDisplay.java b/src/informatis/ui/display/SchemDisplay.java similarity index 98% rename from src/unitinfo/ui/display/SchemDisplay.java rename to src/informatis/ui/display/SchemDisplay.java index 63e9e18..a5dff30 100644 --- a/src/unitinfo/ui/display/SchemDisplay.java +++ b/src/informatis/ui/display/SchemDisplay.java @@ -1,6 +1,6 @@ -package unitinfo.ui.display; +package informatis.ui.display; -import unitinfo.SUtils; +import informatis.SUtils; import arc.Core; import arc.func.Cons; import arc.func.Floatf; @@ -20,7 +20,7 @@ import mindustry.gen.*; import mindustry.graphics.Pal; import mindustry.ui.Styles; import mindustry.ui.dialogs.*; -import unitinfo.ui.Updatable; +import informatis.ui.Updatable; import static arc.Core.*; import static mindustry.Vars.*; @@ -60,7 +60,7 @@ public class SchemDisplay extends Table implements Updatable { t.background(Styles.black8).defaults().maxHeight(72 * 8f).maxWidth(160f); rebuildList = () -> { t.clearChildren(); - ScrollPane pane1 = t.pane(Styles.nonePane, p -> { + ScrollPane pane1 = t.pane(Styles.noBarPane, p -> { p.left().defaults().pad(2).height(42f); try { for(String tag : (Seq)SUtils.invoke(ui.schematics, "tags")){ @@ -90,7 +90,7 @@ public class SchemDisplay extends Table implements Updatable { t.row(); - ScrollPane pane = t.pane(Styles.nonePane, p -> { + ScrollPane pane = t.pane(Styles.noBarPane, p -> { p.table(tt -> { firstSchematic = null; @@ -107,7 +107,7 @@ public class SchemDisplay extends Table implements Updatable { buttons.left(); buttons.defaults().size(162/4f); - ImageButton.ImageButtonStyle style = Styles.clearPartiali; + ImageButton.ImageButtonStyle style = Styles.clearNonei; buttons.button(Icon.info, style, () -> showInfo(s)); buttons.button(Icon.upload, style, () -> showExport(s)); diff --git a/src/unitinfo/ui/display/WaveInfoDisplay.java b/src/informatis/ui/display/WaveInfoDisplay.java similarity index 96% rename from src/unitinfo/ui/display/WaveInfoDisplay.java rename to src/informatis/ui/display/WaveInfoDisplay.java index 41294b1..729fe88 100644 --- a/src/unitinfo/ui/display/WaveInfoDisplay.java +++ b/src/informatis/ui/display/WaveInfoDisplay.java @@ -1,4 +1,4 @@ -package unitinfo.ui.display; +package informatis.ui.display; import arc.scene.ui.layout.*; import arc.util.*; @@ -9,8 +9,8 @@ import mindustry.world.Block; import mindustry.world.Tile; import mindustry.world.blocks.environment.Floor; -import static unitinfo.SUtils.*; -import static unitinfo.SVars.*; +import static informatis.SUtils.*; +import static informatis.SVars.*; import static arc.Core.*; import static mindustry.Vars.*; @@ -107,7 +107,7 @@ public class WaveInfoDisplay { waveTable.row(); waveTable.stack( new Table(tt -> tt.collapser(t -> t.stack(waveInfoTable, infoTable).growX(), true, () -> waveShown).growX()).top(), - new Table(tt -> tt.button(Icon.downOpen, Styles.clearToggleTransi, () -> waveShown = !waveShown).size(4 * 8f).checked(b -> { + new Table(tt -> tt.button(Icon.downOpen, Styles.clearTogglei, () -> waveShown = !waveShown).size(4 * 8f).checked(b -> { b.getImage().setDrawable(waveShown ? Icon.upOpen : Icon.downOpen); return waveShown; })).left().top()).fillX(); diff --git a/src/informatis/ui/draws/BlockDraw.java b/src/informatis/ui/draws/BlockDraw.java new file mode 100644 index 0000000..f4833a0 --- /dev/null +++ b/src/informatis/ui/draws/BlockDraw.java @@ -0,0 +1,37 @@ +package informatis.ui.draws; + +import arc.graphics.g2d.Draw; +import arc.graphics.g2d.Fill; +import arc.scene.style.TextureRegionDrawable; +import mindustry.gen.Groups; +import mindustry.graphics.Pal; + +import static informatis.SUtils.*; +import static arc.Core.settings; + +public class BlockDraw extends OverDraw { + BlockDraw(String name, TextureRegionDrawable icon) { + super(name, icon); + registerOption("blockStatus"); + } + + @Override + public void draw() { + super.draw(); + Groups.build.each(b->{ + if(isInCamera(b.x, b.y, b.block.size/2f) && settings.getBool("blockStatus") && enabled) { + if(b.block.consumers.length > 0) { + float multiplier = b.block.size > 1 ? 1.0F : 0.64F; + float brcx = b.x + (float)(b.block.size * 8) / 2.0F - 8.0F * multiplier / 2.0F; + float brcy = b.y - (float)(b.block.size * 8) / 2.0F + 8.0F * multiplier / 2.0F; + Draw.z(71.0F); + Draw.color(Pal.gray); + Fill.square(brcx, brcy, 2.5F * multiplier, 45.0F); + Draw.color(b.status().color); + Fill.square(brcx, brcy, 1.5F * multiplier, 45.0F); + Draw.color(); + } + }; + }); + } +} diff --git a/src/unitinfo/ui/draws/LinkDraw.java b/src/informatis/ui/draws/LinkDraw.java similarity index 96% rename from src/unitinfo/ui/draws/LinkDraw.java rename to src/informatis/ui/draws/LinkDraw.java index f3f3e70..6604693 100644 --- a/src/unitinfo/ui/draws/LinkDraw.java +++ b/src/informatis/ui/draws/LinkDraw.java @@ -1,4 +1,4 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; import arc.graphics.Color; import arc.graphics.g2d.Draw; @@ -22,7 +22,7 @@ import mindustry.world.blocks.payloads.PayloadMassDriver; import static arc.Core.atlas; import static arc.Core.settings; import static mindustry.Vars.*; -import static unitinfo.SVars.*; +import static informatis.SVars.*; public class LinkDraw extends OverDraw { Seq linkedMasses = new Seq<>(); @@ -150,7 +150,7 @@ public class LinkDraw extends OverDraw { len1 = node.block.size * tilesize / 2f - 1.5f, len2 = other.block.size * tilesize / 2f - 1.5f; Draw.color(Color.white, Color.valueOf("98ff98"), (1f - node.power.graph.getSatisfaction()) * 0.86f + Mathf.absin(3f, 0.1f)); Draw.alpha(Renderer.laserOpacity); - Drawf.laser(node.team, atlas.find("unitinfo-Slaser"), atlas.find("unitinfo-Slaser-end"), node.x + vx * len1, node.y + vy * len1, other.x - vx * len2, other.y - vy * len2, 0.25f); + Drawf.laser(atlas.find("informatis-Slaser"), atlas.find("informatis-Slaser"), atlas.find("informatis-Slaser-end"), node.x + vx * len1, node.y + vy * len1, other.x - vx * len2, other.y - vy * len2, 0.25f); drawNodeLink(other); } diff --git a/src/unitinfo/ui/draws/OverDraw.java b/src/informatis/ui/draws/OverDraw.java similarity index 95% rename from src/unitinfo/ui/draws/OverDraw.java rename to src/informatis/ui/draws/OverDraw.java index f6e189b..ef3e0d6 100644 --- a/src/unitinfo/ui/draws/OverDraw.java +++ b/src/informatis/ui/draws/OverDraw.java @@ -1,4 +1,4 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; import arc.scene.Element; import arc.scene.style.TextureRegionDrawable; @@ -24,7 +24,7 @@ public class OverDraw { public void displayStats(Table parent) { if(options.isEmpty()) return; - parent.background(Styles.squaret.up); + parent.background(Styles.squarei.up); options.each(name-> parent.check(bundle.get("setting."+name+".name"), settings.getBool(name), b->settings.put(name, b)).tooltip(t->t.background(Styles.black8).add(bundle.get("setting."+name+".description"))).disabled(!enabled).row()); } diff --git a/src/unitinfo/ui/draws/OverDraws.java b/src/informatis/ui/draws/OverDraws.java similarity index 94% rename from src/unitinfo/ui/draws/OverDraws.java rename to src/informatis/ui/draws/OverDraws.java index 008bbc1..b81ba6d 100644 --- a/src/unitinfo/ui/draws/OverDraws.java +++ b/src/informatis/ui/draws/OverDraws.java @@ -1,4 +1,4 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; import mindustry.gen.Icon; diff --git a/src/unitinfo/ui/draws/RangeDraw.java b/src/informatis/ui/draws/RangeDraw.java similarity index 93% rename from src/unitinfo/ui/draws/RangeDraw.java rename to src/informatis/ui/draws/RangeDraw.java index 761c355..3dde3c2 100644 --- a/src/unitinfo/ui/draws/RangeDraw.java +++ b/src/informatis/ui/draws/RangeDraw.java @@ -1,4 +1,4 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; import arc.graphics.Color; import arc.graphics.g2d.*; @@ -13,8 +13,8 @@ import mindustry.world.blocks.defense.turrets.BaseTurret; import mindustry.world.blocks.defense.turrets.TractorBeamTurret; import mindustry.world.blocks.defense.turrets.Turret; -import static unitinfo.SVars.turretRange; -import static unitinfo.SUtils.*; +import static informatis.SVars.turretRange; +import static informatis.SUtils.*; import static arc.Core.*; import static mindustry.Vars.player; @@ -58,11 +58,11 @@ public class RangeDraw extends OverDraw { else if (b instanceof Turret.TurretBuild build) { Turret t = (Turret) build.block; if(t.targetAir&&!air||t.targetGround&&!ground) return; - if((unit.isFlying() ? t.targetAir : t.targetGround) && build.hasAmmo() && build.cons.valid()) valid = true; + if((unit.isFlying() ? t.targetAir : t.targetGround) && build.hasAmmo() && build.canConsume()) valid = true; } else if (b instanceof TractorBeamTurret.TractorBeamBuild build) { TractorBeamTurret t = (TractorBeamTurret) build.block; if(t.targetAir&&!air||t.targetGround&&!ground) return; - if((unit.isFlying() ? t.targetAir : t.targetGround) && build.cons.valid()) valid = true; + if((unit.isFlying() ? t.targetAir : t.targetGround) && build.canConsume()) valid = true; } if(!valid) index = 0; diff --git a/src/unitinfo/ui/draws/UnitDraw.java b/src/informatis/ui/draws/UnitDraw.java similarity index 87% rename from src/unitinfo/ui/draws/UnitDraw.java rename to src/informatis/ui/draws/UnitDraw.java index 7b25272..b3fe50a 100644 --- a/src/unitinfo/ui/draws/UnitDraw.java +++ b/src/informatis/ui/draws/UnitDraw.java @@ -1,6 +1,6 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; -import unitinfo.ui.FreeBar; +import informatis.ui.FreeBar; import arc.graphics.g2d.Lines; import arc.math.Angles; import arc.math.Mathf; @@ -11,8 +11,8 @@ import arc.util.Align; import arc.util.Tmp; import mindustry.Vars; import mindustry.ai.Pathfinder; +import mindustry.ai.RtsAI; import mindustry.ai.types.*; -import mindustry.entities.units.UnitCommand; import mindustry.entities.units.UnitController; import mindustry.game.Team; import mindustry.gen.Groups; @@ -21,11 +21,10 @@ import mindustry.logic.LUnitControl; import mindustry.ui.Fonts; import mindustry.world.Tile; import mindustry.world.blocks.storage.CoreBlock; -import mindustry.world.blocks.units.CommandCenter; import java.util.Objects; -import static unitinfo.SUtils.*; +import static informatis.SUtils.*; import static arc.Core.settings; import static mindustry.Vars.*; @@ -48,7 +47,7 @@ public class UnitDraw extends OverDraw { Groups.unit.each(u-> isInCamera(u.x, u.y, u.hitSize), u -> { UnitController c = u.controller(); - UnitCommand com = u.team.data().command; + RtsAI rts = u.team.data().rtsAi; if(settings.getBool("logicLine") && c instanceof LogicAI ai && (ai.control == LUnitControl.approach || ai.control == LUnitControl.move)) { Lines.stroke(1, u.team.color); @@ -57,12 +56,12 @@ public class UnitDraw extends OverDraw { Lines.line(u.x(), u.y(), ai.controller.x, ai.controller.y); } - if(settings.getBool("unitLine") && !u.type.flying && com != UnitCommand.idle && !(c instanceof MinerAI || c instanceof BuilderAI || c instanceof RepairAI || c instanceof DefenderAI || c instanceof FormationAI || c instanceof FlyingAI)) { + if(settings.getBool("unitLine") && !u.type.flying && !(c instanceof MinerAI || c instanceof BuilderAI || c instanceof RepairAI || c instanceof DefenderAI || c instanceof FlyingAI)) { Lines.stroke(1, u.team.color); otherCores = Groups.build.count(b -> b instanceof CoreBlock.CoreBuild && b.team != u.team); pathTiles.clear(); - getNextTile(u.tileOn(), u.controller() instanceof SuicideAI ? 0 : u.pathType(), u.team, com.ordinal()); + getNextTile(u.tileOn(), u.controller() instanceof SuicideAI ? 0 : u.pathType(), u.team, u.pathType()); pathTiles.filter(Objects::nonNull); for(int i = 0; i < pathTiles.size-1; i++) { Tile from = pathTiles.get(i); @@ -101,12 +100,11 @@ public class UnitDraw extends OverDraw { } Tile getNextTile(Tile tile, int cost, Team team, int finder) { - Pathfinder.Flowfield field = pathfinder.getField(team, cost, Mathf.clamp(finder, 0, 1)); + Pathfinder.Flowfield field = pathfinder.getField(team, cost, Mathf.clamp(finder, 0, 0)); Tile tile1 = pathfinder.getTargetTile(tile, field); pathTiles.add(tile1); if(tile1 == tile || tile1 == null || - (finder == 0 && (otherCores != Groups.build.count(b -> b instanceof CoreBlock.CoreBuild && b.team != team) || tile1.build instanceof CoreBlock.CoreBuild)) || - (finder == 1 && tile1.build instanceof CommandCenter.CommandBuild)) + (finder == 0 && (otherCores != Groups.build.count(b -> b instanceof CoreBlock.CoreBuild && b.team != team) || tile1.build instanceof CoreBlock.CoreBuild))) return tile1; return getNextTile(tile1, cost, team, finder); } diff --git a/src/unitinfo/ui/draws/UtilDraw.java b/src/informatis/ui/draws/UtilDraw.java similarity index 98% rename from src/unitinfo/ui/draws/UtilDraw.java rename to src/informatis/ui/draws/UtilDraw.java index 2b50490..ca71411 100644 --- a/src/unitinfo/ui/draws/UtilDraw.java +++ b/src/informatis/ui/draws/UtilDraw.java @@ -1,4 +1,4 @@ -package unitinfo.ui.draws; +package informatis.ui.draws; import arc.input.KeyCode; import arc.math.Angles; @@ -39,7 +39,7 @@ public class UtilDraw extends OverDraw { } float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY()); - boolean aimCursor = omni && player.shooting && unit.type.hasWeapons() && unit.type.faceTarget && !boosted && unit.type.rotateShooting; + boolean aimCursor = omni && player.shooting && unit.type.hasWeapons() && unit.type.faceTarget && !boosted && unit.type.rotateToBuilding; unit.lookAt(aimCursor ? mouseAngle : unit.prefRotation()); //update shooting if not building + not mining diff --git a/src/unitinfo/ui/window/CoreWindow.java b/src/informatis/ui/window/CoreWindow.java similarity index 97% rename from src/unitinfo/ui/window/CoreWindow.java rename to src/informatis/ui/window/CoreWindow.java index 950e0fc..dd9522a 100644 --- a/src/unitinfo/ui/window/CoreWindow.java +++ b/src/informatis/ui/window/CoreWindow.java @@ -1,8 +1,8 @@ -package unitinfo.ui.window; +package informatis.ui.window; import arc.Events; import mindustry.game.EventType; -import unitinfo.ui.*; +import informatis.ui.*; import arc.Core; import arc.graphics.Color; import arc.math.Mathf; @@ -43,7 +43,7 @@ public class CoreWindow extends Window implements Updatable { scrollPos = new Vec2(0, 0); table.background(Styles.black8).top(); - table.add(new OverScrollPane(rebuild(), Styles.nonePane, scrollPos).disableScroll(true, false)).grow().name("core-pane"); + table.add(new OverScrollPane(rebuild(), Styles.noBarPane, scrollPos).disableScroll(true, false)).grow().name("core-pane"); Events.on(EventType.WorldLoadEvent.class, e -> resetUsed()); } diff --git a/src/unitinfo/ui/window/MapEditorWindow.java b/src/informatis/ui/window/MapEditorWindow.java similarity index 97% rename from src/unitinfo/ui/window/MapEditorWindow.java rename to src/informatis/ui/window/MapEditorWindow.java index 23042be..7d7d2bd 100644 --- a/src/unitinfo/ui/window/MapEditorWindow.java +++ b/src/informatis/ui/window/MapEditorWindow.java @@ -1,4 +1,4 @@ -package unitinfo.ui.window; +package informatis.ui.window; import arc.Events; import arc.graphics.g2d.*; @@ -9,8 +9,8 @@ import arc.struct.ObjectMap; import mindustry.editor.MapEditor; import mindustry.game.EventType; import mindustry.graphics.Layer; -import unitinfo.core.EditorTool; -import unitinfo.ui.*; +import informatis.core.EditorTool; +import informatis.ui.*; import arc.Core; import arc.func.*; import arc.graphics.Color; @@ -32,7 +32,6 @@ import mindustry.graphics.Pal; import mindustry.ui.Styles; import mindustry.world.*; -import static arc.Core.settings; import static mindustry.Vars.*; public class MapEditorWindow extends Window implements Updatable { @@ -132,10 +131,10 @@ public class MapEditorWindow extends Window implements Updatable { t.label(()-> drawBlock == null ? "[gray]None[]" : "[accent]" + drawBlock.localizedName + "[] "+ drawBlock.emoji()); t.add(search).growX().pad(8).name("search"); }).growX().row(); - display.add(new OverScrollPane(rebuildEditor(), Styles.nonePane, scrollPos).disableScroll(true, false)).grow().name("editor-pane").row(); + display.add(new OverScrollPane(rebuildEditor(), Styles.noBarPane, scrollPos).disableScroll(true, false)).grow().name("editor-pane").row(); })); displays.put(Icon.settings, new Table(display -> { - display.add(new OverScrollPane(rebuildRule(), Styles.nonePane, scrollPos).disableScroll(true, false)).grow().name("rule-pane").row(); + display.add(new OverScrollPane(rebuildRule(), Styles.noBarPane, scrollPos).disableScroll(true, false)).grow().name("rule-pane").row(); })); table.table(buttons -> { @@ -180,7 +179,6 @@ public class MapEditorWindow extends Window implements Updatable { } void resetPane() { - Log.info("reseted"); ScrollPane pane = find("editor-pane"); if(pane != null) pane.setWidget(rebuildEditor()); } @@ -279,7 +277,7 @@ public class MapEditorWindow extends Window implements Updatable { option.button(b -> { b.left().marginLeft(6); - b.setStyle(Styles.clearTogglet); + b.setStyle(Styles.clearTogglei); b.add(Core.bundle.get("toolmode." + name)).left().row(); b.add(Core.bundle.get("toolmode." + name + ".description")).color(Color.lightGray).left(); }, () -> tool.mode = (tool.mode == mode ? -1 : mode)).update(b -> b.setChecked(tool.mode == mode)).margin(12f).growX().row(); @@ -303,8 +301,8 @@ public class MapEditorWindow extends Window implements Updatable { for(T item : items){ if(!item.unlockedNow()) continue; - ImageButton button = cont.button(Tex.whiteui, Styles.clearToggleTransi, 24, () -> { - if(closeSelect) control.input.frag.config.hideConfig(); + ImageButton button = cont.button(Tex.whiteui, Styles.clearTogglei, 24, () -> { + if(closeSelect) control.input.config.hideConfig(); }).group(group).tooltip(t->t.background(Styles.black8).add(item.localizedName.replace(search.getText(), "[accent]"+search.getText()+"[]"))).get(); button.changed(() -> consumer.get(button.isChecked() ? item : null)); button.getStyle().imageUp = new TextureRegionDrawable(item.uiIcon); @@ -343,8 +341,8 @@ public class MapEditorWindow extends Window implements Updatable { int max = Math.max(row, Math.round(getDisplayWidth()/2/8/row/2)); for(T item : items){ - ImageButton button = cont.button(Tex.whiteui, Styles.clearToggleTransi, 24, () -> { - if(closeSelect) control.input.frag.config.hideConfig(); + ImageButton button = cont.button(Tex.whiteui, Styles.clearTogglei, 24, () -> { + if(closeSelect) control.input.config.hideConfig(); }).group(group).tooltip(t->t.background(Styles.black8).add(item.localized().replace(search.getText(), "[accent]"+search.getText()+"[]"))).with(img -> img.getStyle().imageUpColor = item.color).get(); button.changed(() -> consumer.get(button.isChecked() ? item : null)); button.update(() -> button.setChecked(holder.get() == item)); diff --git a/src/unitinfo/ui/window/PlayerWindow.java b/src/informatis/ui/window/PlayerWindow.java similarity index 94% rename from src/unitinfo/ui/window/PlayerWindow.java rename to src/informatis/ui/window/PlayerWindow.java index da6ef24..a8ed2e2 100644 --- a/src/unitinfo/ui/window/PlayerWindow.java +++ b/src/informatis/ui/window/PlayerWindow.java @@ -1,7 +1,7 @@ -package unitinfo.ui.window; +package informatis.ui.window; -import unitinfo.ui.OverScrollPane; -import unitinfo.ui.Updatable; +import informatis.ui.OverScrollPane; +import informatis.ui.Updatable; import arc.Core; import arc.graphics.Color; import arc.graphics.g2d.Draw; @@ -48,7 +48,7 @@ public class PlayerWindow extends Window implements Updatable { table.background(Styles.black8).top(); table.label(()-> Core.bundle.format(Groups.player.size() == 1 ? "players.single" : "players", Groups.player.size())).row(); table.add(search).growX().pad(8).name("search").maxTextLength(maxNameLength).row(); - table.add(new OverScrollPane(rebuild(), Styles.nonePane, scrollPos).disableScroll(true, false)).grow().name("player-pane"); + table.add(new OverScrollPane(rebuild(), Styles.noBarPane, scrollPos).disableScroll(true, false)).grow().name("player-pane"); } @Override diff --git a/src/unitinfo/ui/window/ToolWindow.java b/src/informatis/ui/window/ToolWindow.java similarity index 86% rename from src/unitinfo/ui/window/ToolWindow.java rename to src/informatis/ui/window/ToolWindow.java index 3ac44c7..42af860 100644 --- a/src/unitinfo/ui/window/ToolWindow.java +++ b/src/informatis/ui/window/ToolWindow.java @@ -1,9 +1,9 @@ -package unitinfo.ui.window; +package informatis.ui.window; -import unitinfo.ui.OverScrollPane; -import unitinfo.ui.Updatable; -import unitinfo.ui.draws.OverDraw; -import unitinfo.ui.draws.OverDraws; +import informatis.ui.OverScrollPane; +import informatis.ui.Updatable; +import informatis.ui.draws.OverDraw; +import informatis.ui.draws.OverDraws; import arc.math.geom.Vec2; import arc.scene.ui.ScrollPane; import arc.scene.ui.layout.Table; @@ -28,7 +28,7 @@ public class ToolWindow extends Window implements Updatable { table.background(Styles.black8).top().left(); table.table(pane->{ - pane.add(new OverScrollPane(rebuild(), Styles.nonePane, scrollPos).disableScroll(true, false)).name("tool-pane"); + pane.add(new OverScrollPane(rebuild(), Styles.noBarPane, scrollPos).disableScroll(true, false)).name("tool-pane"); }).top().marginLeft(4f).marginRight(12f); table.table(stats->{ stats.top(); diff --git a/src/unitinfo/ui/window/UnitWindow.java b/src/informatis/ui/window/UnitWindow.java similarity index 75% rename from src/unitinfo/ui/window/UnitWindow.java rename to src/informatis/ui/window/UnitWindow.java index 91cbd54..c14b665 100644 --- a/src/unitinfo/ui/window/UnitWindow.java +++ b/src/informatis/ui/window/UnitWindow.java @@ -1,8 +1,8 @@ -package unitinfo.ui.window; +package informatis.ui.window; -import arc.Core; -import unitinfo.core.*; -import unitinfo.ui.*; +import arc.math.Mathf; +import informatis.core.*; +import informatis.ui.*; import arc.graphics.Color; import arc.graphics.g2d.*; import arc.math.geom.*; @@ -23,18 +23,19 @@ import mindustry.ui.Styles; import mindustry.world.blocks.ConstructBlock; import mindustry.world.blocks.payloads.Payload; -import static unitinfo.SVars.*; -import static unitinfo.SUtils.*; +import static informatis.SVars.*; +import static informatis.SUtils.*; import static mindustry.Vars.*; 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(); - int bars = 6; //temp + Seq bars = new Seq<>(); //temp Vec2 scrollPos = new Vec2(0, 0); public UnitWindow() { super(Icon.units, "unit"); + for(int i = 0; i < 6; i++) addBar(); } //TODO: add new UnitInfoDisplay(), new WeaponDisplay(); @@ -89,50 +90,59 @@ class UnitWindow extends Window { table.image().height(4f).color((target==null?player.unit():target).team().color).growX().row(); table.add(new OverScrollPane(new Table(bars -> { bars.top(); - for (int i = 0; i < this.bars; i++) { - int index = i; - bars.table(bar -> { - bar.add(new SBar( - () -> { - BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); - return data == null ? "[lightgray][]" : data.name; - }, - () -> { - BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); - if (index >= lastColors.size) lastColors.size = index+1; - if (data == null) return lastColors.get(index); - if (data.color != Color.clear) lastColors.set(index, data.color); - return lastColors.get(index); - }, - () -> { - BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); - return data == null ? 0 : data.number; - } - )).height(4 * 8f).growX(); - bar.add(new Image(){ - @Override - public void draw() { - validate(); + bars.table().update(t->{ + t.clear(); + this.bars.clear(); + for(int i = 0; i < 6; i++) addBar(); + for (Table bar : this.bars) { + t.add(bar).growX().row(); + } + }).growX(); + }), Styles.noBarPane, scrollPos).disableScroll(true, false)).growX().padTop(12f); + } - BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); - Draw.color(Color.white); - Draw.alpha(parentAlpha * color.a); - if(data == null) { - new TextureRegionDrawable(clear).draw(x + imageX, y + imageY, imageWidth * scaleX, imageHeight * scaleY); - return; - } - TextureRegionDrawable region = new TextureRegionDrawable(data.icon); - region.draw(x + imageX, y + imageY, imageWidth * scaleX, imageHeight * scaleY); - Draw.color(data.color); - if(ScissorStack.push(scissor.set(x, y, imageWidth * scaleX, imageHeight * scaleY * data.number))){ - region.draw(x, y, imageWidth * scaleX, imageHeight * scaleY); - ScissorStack.pop(); - } - } - }).size(iconMed * 0.75f).padLeft(8f); - }).growX().row(); - } - }), Styles.nonePane, scrollPos).disableScroll(true, false)).growX().padTop(12f); + void addBar() { + int index = this.bars.size; + bars.add(new Table(bar -> { + bar.add(new SBar( + () -> { + BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); + return data == null ? "[lightgray][]" : data.name; + }, + () -> { + BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); + if (index >= lastColors.size) lastColors.size = index+1; + if (data == null) return lastColors.get(index); + if (data.color != Color.clear) lastColors.set(index, data.color); + return lastColors.get(index); + }, + () -> { + BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); + return data == null ? 0 : data.number; + } + )).height(4 * 8f).growX(); + bar.add(new Image(){ + @Override + public void draw() { + validate(); + + BarInfo.BarData data = index >= BarInfo.data.size ? null : BarInfo.data.get(index); + Draw.color(Color.white); + Draw.alpha(parentAlpha * color.a); + if(data == null) { + new TextureRegionDrawable(clear).draw(x + imageX, y + imageY, imageWidth * scaleX, imageHeight * scaleY); + return; + } + TextureRegionDrawable region = new TextureRegionDrawable(data.icon); + region.draw(x + imageX, y + imageY, imageWidth * scaleX, imageHeight * scaleY); + Draw.color(data.color); + if(ScissorStack.push(scissor.set(x, y, imageWidth * scaleX, imageHeight * scaleY * data.number))){ + region.draw(x, y, imageWidth * scaleX, imageHeight * scaleY); + ScissorStack.pop(); + } + } + }).size(iconMed * 0.75f).padLeft(8f); + })); } static class WeaponDisplay extends Table { diff --git a/src/unitinfo/ui/window/WaveWindow.java b/src/informatis/ui/window/WaveWindow.java similarity index 98% rename from src/unitinfo/ui/window/WaveWindow.java rename to src/informatis/ui/window/WaveWindow.java index 6db86cb..5ced85f 100644 --- a/src/unitinfo/ui/window/WaveWindow.java +++ b/src/informatis/ui/window/WaveWindow.java @@ -1,8 +1,8 @@ -package unitinfo.ui.window; +package informatis.ui.window; import mindustry.Vars; import mindustry.type.UnitType; -import unitinfo.ui.OverScrollPane; +import informatis.ui.OverScrollPane; import arc.Events; import arc.graphics.Color; import arc.math.Mathf; @@ -18,7 +18,7 @@ import mindustry.game.SpawnGroup; import mindustry.gen.*; import mindustry.graphics.Pal; import mindustry.ui.*; -import unitinfo.ui.Updatable; +import informatis.ui.Updatable; import static arc.Core.*; import static arc.Core.settings; @@ -39,7 +39,7 @@ public class WaveWindow extends Window implements Updatable { window = table; table.top().background(Styles.black8); - ScrollPane pane = new OverScrollPane(rebuild(), Styles.nonePane, scrollPos).disableScroll(true, false); + ScrollPane pane = new OverScrollPane(rebuild(), Styles.noBarPane, scrollPos).disableScroll(true, false); table.add(pane).grow().name("wave-pane").row(); table.table(total -> { total.left(); diff --git a/src/unitinfo/ui/window/Window.java b/src/informatis/ui/window/Window.java similarity index 97% rename from src/unitinfo/ui/window/Window.java rename to src/informatis/ui/window/Window.java index ea65c33..036f6a5 100644 --- a/src/unitinfo/ui/window/Window.java +++ b/src/informatis/ui/window/Window.java @@ -1,4 +1,4 @@ -package unitinfo.ui.window; +package informatis.ui.window; import arc.*; import arc.func.*; @@ -10,7 +10,7 @@ import arc.scene.ui.layout.*; import arc.util.*; import mindustry.gen.*; import mindustry.ui.*; -import unitinfo.ui.WindowManager; +import informatis.ui.WindowManager; public class Window extends Table{ public TextureRegionDrawable icon; @@ -54,7 +54,7 @@ public class Window extends Table{ t.table(Tex.buttonEdge1, b -> { b.top().left(); b.image(() -> icon == null ? Icon.none.getRegion() : icon.getRegion()).size(20f).padLeft(15).top().left(); - b.pane(Styles.nonePane, p -> { + b.pane(Styles.noBarPane, p -> { p.top().left(); p.labelWrap(() -> Core.bundle.get("window."+name+".name")).padLeft(20).top().left().get().setAlignment(Align.topLeft); }).left().height(40f).growX().get().setScrollingDisabled(true, true); diff --git a/src/unitinfo/ui/window/Windows.java b/src/informatis/ui/window/Windows.java similarity index 90% rename from src/unitinfo/ui/window/Windows.java rename to src/informatis/ui/window/Windows.java index 739250c..76a4354 100644 --- a/src/unitinfo/ui/window/Windows.java +++ b/src/informatis/ui/window/Windows.java @@ -1,4 +1,4 @@ -package unitinfo.ui.window; +package informatis.ui.window; public class Windows { public static MapEditorWindow editorTable; diff --git a/src/unitinfo/ui/SIcons.java b/src/unitinfo/ui/SIcons.java deleted file mode 100644 index 39effcb..0000000 --- a/src/unitinfo/ui/SIcons.java +++ /dev/null @@ -1,14 +0,0 @@ -package unitinfo.ui; - -import arc.Core; -import arc.graphics.g2d.TextureRegion; - -public class SIcons { - public static TextureRegion health = Core.atlas.find("unitinfo-health"); - public static TextureRegion shield = Core.atlas.find("unitinfo-shield"); - public static TextureRegion item = Core.atlas.find("unitinfo-item"); - public static TextureRegion liquid = Core.atlas.find("unitinfo-liquid"); - public static TextureRegion power = Core.atlas.find("unitinfo-power"); - public static TextureRegion ammo = Core.atlas.find("unitinfo-ammo"); - public static TextureRegion reload = Core.atlas.find("unitinfo-reload"); -} diff --git a/src/unitinfo/ui/draws/BlockDraw.java b/src/unitinfo/ui/draws/BlockDraw.java deleted file mode 100644 index 7acacc9..0000000 --- a/src/unitinfo/ui/draws/BlockDraw.java +++ /dev/null @@ -1,25 +0,0 @@ -package unitinfo.ui.draws; - -import arc.scene.style.TextureRegionDrawable; -import mindustry.gen.Groups; - -import static unitinfo.SUtils.*; -import static arc.Core.settings; - -public class BlockDraw extends OverDraw { - boolean status = false; - - BlockDraw(String name, TextureRegionDrawable icon) { - super(name, icon); - registerOption("blockStatus"); - } - - @Override - public void draw() { - super.draw(); - Groups.build.each(b->{ - //this is shit.. VERY SHIT OH GOD - if(isInCamera(b.x, b.y, b.block.size/2f) && settings.getBool("blockStatus") && enabled) b.drawStatus(); - }); - } -}