From ece7ad0fd33d4f4ea9565fac4c9934fb696c7623 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 13 Dec 2017 01:42:15 -0500 Subject: [PATCH] Fix more bugs --- .../anuke/mindustry/entities/enemies/Enemy.java | 6 ++---- core/src/io/anuke/mindustry/ui/MenuButton.java | 3 ++- core/src/io/anuke/mindustry/ui/MenuDialog.java | 10 ++++++++++ core/src/io/anuke/mindustry/ui/PressGroup.java | 16 ++++++++++++++++ .../mindustry/ui/fragments/MenuFragment.java | 13 ++++++++----- .../mindustry/world/blocks/ProductionBlocks.java | 2 +- 6 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 core/src/io/anuke/mindustry/ui/PressGroup.java diff --git a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java index 1bbc597980..69a456765e 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java @@ -66,9 +66,7 @@ public class Enemy extends DestructibleEntity{ Tile core = Vars.control.getCore(); if(idletime > maxIdleLife){ - Effects.effect(Fx.shellsmoke, this); - Effects.effect(Fx.explosion, this); - remove(); + onDeath(); return; } @@ -239,7 +237,7 @@ public class Enemy extends DestructibleEntity{ float minv = 0.08f; - if(xvelocity < minv && yvelocity < minv && node > 0){ + if(xvelocity < minv && yvelocity < minv && node > 0 && target == null){ idletime += Timers.delta(); }else{ idletime = 0; diff --git a/core/src/io/anuke/mindustry/ui/MenuButton.java b/core/src/io/anuke/mindustry/ui/MenuButton.java index ec762740f6..a114c9162a 100644 --- a/core/src/io/anuke/mindustry/ui/MenuButton.java +++ b/core/src/io/anuke/mindustry/ui/MenuButton.java @@ -9,7 +9,7 @@ import io.anuke.ucore.scene.ui.Image; public class MenuButton extends Button{ - public MenuButton(String icon, Listenable clicked){ + public MenuButton(String icon, PressGroup group, Listenable clicked){ super("menu"); Image image = new Image(icon); image.setScaling(Scaling.fit); @@ -17,5 +17,6 @@ public class MenuButton extends Button{ image.setOrigin(Align.center); add(image); clicked(clicked); + group.add(this); } } diff --git a/core/src/io/anuke/mindustry/ui/MenuDialog.java b/core/src/io/anuke/mindustry/ui/MenuDialog.java index 004748fc06..1255a4c278 100644 --- a/core/src/io/anuke/mindustry/ui/MenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/MenuDialog.java @@ -5,9 +5,11 @@ import static io.anuke.mindustry.Vars.ui; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState; import io.anuke.mindustry.core.GameState.State; +import io.anuke.ucore.scene.Element; import io.anuke.ucore.scene.builders.build; import io.anuke.ucore.scene.builders.imagebutton; import io.anuke.ucore.scene.ui.ConfirmDialog; +import io.anuke.ucore.scene.ui.ImageButton; import io.anuke.ucore.scene.ui.layout.Cell; import io.anuke.ucore.scene.ui.layout.Unit; @@ -69,6 +71,8 @@ public class MenuDialog extends FloatingDialog{ }else{ build.begin(content()); + PressGroup group = new PressGroup(); + content().defaults().size(120f).pad(5).units(Unit.dp); float isize = Unit.dp.inPixels(14f*4); @@ -94,6 +98,12 @@ public class MenuDialog extends FloatingDialog{ }}.show(); }).text("Quit").padTop(4f); + for(Element e : content().getChildren()){ + if(e instanceof ImageButton){ + group.add((ImageButton)e); + } + } + build.end(); } } diff --git a/core/src/io/anuke/mindustry/ui/PressGroup.java b/core/src/io/anuke/mindustry/ui/PressGroup.java new file mode 100644 index 0000000000..f20713c314 --- /dev/null +++ b/core/src/io/anuke/mindustry/ui/PressGroup.java @@ -0,0 +1,16 @@ +package io.anuke.mindustry.ui; + +import com.badlogic.gdx.utils.Array; + +import io.anuke.ucore.scene.ui.Button; + +public class PressGroup{ + private Array