mirror of
https://github.com/yawaflua/Informatis.git
synced 2025-12-10 03:59:26 +02:00
element display
This commit is contained in:
@@ -84,6 +84,10 @@ setting.distanceLine.name = Display Distance Line From Selected Target
|
||||
setting.distanceLine.description = Displays dotted lines and numbers to indicate how far away the target is.
|
||||
setting.spawnerarrow.name = Indicate Wave Spawn-Point
|
||||
setting.spawnerarrow.description = Displays arrow pointing to wave spawn-points.
|
||||
setting.elementdebug.name = Element Debug
|
||||
setting.elementdebug.description = Show all Element outline
|
||||
setting.hiddenElem.name = Display hidden element
|
||||
setting.hiddenElem.description = display hidden element outline too.
|
||||
|
||||
setting.autoShooting.name = Enable Auto Shooting
|
||||
setting.autoShooting.description = no don't do hack
|
||||
|
||||
@@ -79,8 +79,12 @@ setting.deadTarget.name = 고정 목표물이 죽더라도 계속 고정하기
|
||||
setting.deadTarget.description = 고정 목표물이 죽어도 그 좌표와 대상 정보를 계속 표시합니다.
|
||||
setting.distanceLine.name = 목표물과의 거리선 표시
|
||||
setting.distanceLine.description = 목표물과 어느정도나 멀어졌는지 점선과 숫자로 표시합니다.
|
||||
setting.spawnerarrow.name = 적 단계 생성지점을 가르키는 화살표를 표시합니다.
|
||||
setting.spawnerarrow.description =
|
||||
setting.spawnerarrow.name = 스폰포인트 화살표
|
||||
setting.spawnerarrow.description = 적 단계 생성지점을 가르키는 화살표를 표시합니다.
|
||||
setting.elementdebug.name = UI 디버깅
|
||||
setting.elementdebug.description = 모든 UI 요소의 외곽선을 표시합니다.
|
||||
setting.hiddenElem.name = 숨겨진 요소 표시
|
||||
setting.hiddenElem.description = 숨겨진 요소의 외곽선도 표시합니다.
|
||||
|
||||
setting.autoShooting.name = 자동 사격 활성화
|
||||
setting.autoShooting.description =
|
||||
|
||||
@@ -1,32 +1,53 @@
|
||||
package UnitInfo.core;
|
||||
|
||||
import UnitInfo.shaders.*;
|
||||
import UnitInfo.ui.ElementDisplay;
|
||||
import UnitInfo.ui.HUDFragment;
|
||||
import UnitInfo.ui.MindowsTex;
|
||||
import UnitInfo.ui.windows.CoreDisplay;
|
||||
import UnitInfo.ui.windows.WindowTable;
|
||||
import UnitInfo.ui.windows.WindowTables;
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.Draw;
|
||||
import arc.graphics.g2d.Lines;
|
||||
import arc.scene.Element;
|
||||
import arc.scene.Group;
|
||||
import arc.scene.event.Touchable;
|
||||
import arc.scene.ui.layout.WidgetGroup;
|
||||
import arc.struct.Seq;
|
||||
import arc.struct.SnapshotSeq;
|
||||
import arc.util.Tmp;
|
||||
import mindustry.*;
|
||||
import mindustry.editor.MapEditorDialog;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.graphics.Layer;
|
||||
import mindustry.logic.LogicDialog;
|
||||
import mindustry.mod.*;
|
||||
import mindustry.ui.dialogs.*;
|
||||
import mindustry.ui.fragments.*;
|
||||
|
||||
import static UnitInfo.SVars.*;
|
||||
import static UnitInfo.ui.windows.UnitDisplay.getTarget;
|
||||
import static arc.Core.*;
|
||||
import static mindustry.Vars.ui;
|
||||
|
||||
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[]";
|
||||
meta.author = "[#B5FFD9]Sharlotte[lightgray]#0018[][]";
|
||||
meta.description = bundle.get("shar-description");
|
||||
scene.add(new ElementDisplay());
|
||||
Seq.with(
|
||||
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
|
||||
).forEach(dialog-> dialog.add(new ElementDisplay(dialog)));
|
||||
});
|
||||
|
||||
Events.run(Trigger.class, () -> {
|
||||
|
||||
@@ -8,6 +8,8 @@ import arc.graphics.g2d.*;
|
||||
import arc.graphics.gl.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.scene.Element;
|
||||
import arc.scene.Group;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
@@ -54,7 +56,6 @@ public class OverDrawer {
|
||||
public static void setEvent(){
|
||||
Events.run(EventType.Trigger.draw, () -> {
|
||||
|
||||
|
||||
effectBuffer.resize(graphics.getWidth(), graphics.getHeight());
|
||||
Draw.drawRange(158, 1f, () -> effectBuffer.begin(Color.clear), () -> {
|
||||
effectBuffer.end();
|
||||
|
||||
@@ -143,6 +143,8 @@ public class SettingS {
|
||||
addGraphicCheckSetting("deadTarget", false, drawSeq);
|
||||
addGraphicCheckSetting("distanceLine", false, drawSeq);
|
||||
addGraphicCheckSetting("spawnerarrow", false, drawSeq);
|
||||
addGraphicCheckSetting("elementdebug", false, drawSeq);
|
||||
addGraphicCheckSetting("hiddenElem", false, drawSeq);
|
||||
|
||||
Seq<SharSetting> etcSeq = new Seq<>();
|
||||
addGraphicCheckSetting("autoShooting", false, etcSeq);
|
||||
|
||||
61
src/UnitInfo/ui/ElementDisplay.java
Normal file
61
src/UnitInfo/ui/ElementDisplay.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package UnitInfo.ui;
|
||||
|
||||
import arc.graphics.g2d.Draw;
|
||||
import arc.graphics.g2d.Lines;
|
||||
import arc.scene.Element;
|
||||
import arc.scene.Group;
|
||||
import arc.scene.event.Touchable;
|
||||
import arc.struct.SnapshotSeq;
|
||||
import arc.util.Tmp;
|
||||
import mindustry.graphics.Layer;
|
||||
import mindustry.graphics.Pal;
|
||||
|
||||
import static arc.Core.scene;
|
||||
import static arc.Core.settings;
|
||||
|
||||
public class ElementDisplay extends Element {
|
||||
Group root;
|
||||
|
||||
public ElementDisplay() {
|
||||
this(scene.root);
|
||||
}
|
||||
public ElementDisplay(Group root) {
|
||||
this.root = root;
|
||||
fillParent = true;
|
||||
touchable = Touchable.disabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw() {
|
||||
super.draw();
|
||||
if(!settings.getBool("elementdebug")) return;
|
||||
Draw.z(Layer.max);
|
||||
Lines.stroke(1);
|
||||
addRect(root.getChildren());
|
||||
}
|
||||
|
||||
void addRect(SnapshotSeq<Element> elements) {
|
||||
elements.forEach(elem-> {
|
||||
elem.updateVisibility();
|
||||
if(elem.visible || settings.getBool("hiddenElem")) {
|
||||
elem.localToStageCoordinates(Tmp.v1.set(0, 0));
|
||||
if(elem.hasMouse()) {
|
||||
Draw.color(Pal.accent);
|
||||
Lines.stroke(3);
|
||||
}
|
||||
if(elem.hasScroll()) {
|
||||
Draw.color(Pal.lancerLaser);
|
||||
Lines.stroke(3);
|
||||
}
|
||||
if(elem.hasKeyboard()) {
|
||||
Draw.color(Pal.sap);
|
||||
Lines.stroke(5);
|
||||
}
|
||||
Lines.rect(Tmp.v1.x, Tmp.v1.y, elem.getWidth(), elem.getHeight());
|
||||
Draw.color();
|
||||
Lines.stroke(1);
|
||||
if(elem instanceof Group group) addRect(group.getChildren());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user