diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-10 15:29:14 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-10 15:29:14 +0200 | 
| commit | 4ce95587bd59b65e15859ee55fbd5b9d2cfaa238 (patch) | |
| tree | ff90ce5e0353e528b4d420f09620320b551d205f /core/src | |
| parent | 7cfa09595c02666ca36db9d07a572d0519d75b5a (diff) | |
| download | RustAndDust-4ce95587bd59b65e15859ee55fbd5b9d2cfaa238.zip RustAndDust-4ce95587bd59b65e15859ee55fbd5b9d2cfaa238.tar.gz | |
Hud: extract hud/Button, Button instances go public
Diffstat (limited to 'core/src')
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/Hud.java | 109 | ||||
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/hud/Button.java | 102 | 
2 files changed, 108 insertions, 103 deletions
| diff --git a/core/src/ch/asynk/tankontank/game/Hud.java b/core/src/ch/asynk/tankontank/game/Hud.java index 1639f3f..701f2d3 100644 --- a/core/src/ch/asynk/tankontank/game/Hud.java +++ b/core/src/ch/asynk/tankontank/game/Hud.java @@ -6,106 +6,14 @@ import com.badlogic.gdx.utils.Disposable;  import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.TextureAtlas; -import com.badlogic.gdx.graphics.g2d.TextureRegion;  import com.badlogic.gdx.math.Vector2;  import com.badlogic.gdx.math.Rectangle;  import ch.asynk.tankontank.engine.gfx.Image; +import ch.asynk.tankontank.game.hud.Button;  import ch.asynk.tankontank.TankOnTank; -class Button implements Disposable -{ - -    public int idx; -    public boolean visible; -    private Image images []; -    private Image image; -    private Rectangle rect; - -    private static final int OFF = 0; -    private static final int ON = 1; -    private static final int DOWN = 2; - -    public Button(TextureAtlas atlas, String base) -    { -        this.idx = OFF; -        this.visible = false; -        this.images = new Image[3]; -        this.images[OFF] = new Image(atlas.findRegion(base + "-off")); -        this.images[ON] = new Image(atlas.findRegion(base + "-on")); -        this.images[DOWN] = new Image(atlas.findRegion(base + "-down")); - -        this.rect = new Rectangle(getX(), getY(), getWidth(), getHeight()); -    } - -    @Override -    public void dispose() -    { -        for (Image image : images) -            image.dispose(); -    } - -    public void hide() -    { -        idx = OFF; -        visible = false; -    } - -    public void setOff() -    { -        idx = OFF; -    } - -    public void setOn() -    { -        idx = ON; -    } - -    public void setDown() -    { -        idx = DOWN; -    } - -    public boolean isOn() -    { -        return (idx == ON); -    } - -    public boolean isOff() -    { -        return (idx == OFF); -    } - -    public boolean isDisabled() -    { -        return (idx == DOWN); -    } - -    public Image getImage() -    { -        return images[idx]; -    } - -    public void setPosition(float x, float y) -    { -        for (Image image : images) -            image.setPosition(x, y); -        rect.set(x, y, getWidth(), getHeight()); -    } - -    public boolean hit(float x, float y) -    { -        if (!visible) return false; -        return rect.contains(x,y); -    } - -    public float getX() { return images[0].getX(); } -    public float getY() { return images[0].getY(); } -    public float getWidth() { return images[0].getWidth(); } -    public float getHeight() { return images[0].getHeight(); } -} -  public class Hud implements Disposable  {      private static final float OFFSET = 15f; @@ -117,11 +25,11 @@ public class Hud implements Disposable      private Image geFlag;      private Image flag; -    private Button moveBtn; -    private Button rotateBtn; -    private Button attackBtn; -    private Button checkBtn; -    private Button cancelBtn; +    public Button moveBtn; +    public Button rotateBtn; +    public Button attackBtn; +    public Button checkBtn; +    public Button cancelBtn;      private Button btn; @@ -227,11 +135,6 @@ public class Hud implements Disposable          cancelBtn.hide();      } -    public void setRotateOff() -    { -        rotateBtn.setOff(); -    } -      public boolean touchDown(float x, float y)      {          if (infoRect.contains(x,y)) return true; diff --git a/core/src/ch/asynk/tankontank/game/hud/Button.java b/core/src/ch/asynk/tankontank/game/hud/Button.java new file mode 100644 index 0000000..b42a9cf --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/hud/Button.java @@ -0,0 +1,102 @@ +package ch.asynk.tankontank.game.hud; + +import com.badlogic.gdx.Gdx; + +import com.badlogic.gdx.utils.Disposable; + +import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.math.Rectangle; + +import ch.asynk.tankontank.engine.gfx.Image; + +public class Button implements Disposable +{ + +    public int idx; +    public boolean visible; +    private Image images []; +    private Image image; +    private Rectangle rect; + +    private static final int OFF = 0; +    private static final int ON = 1; +    private static final int DOWN = 2; + +    public Button(TextureAtlas atlas, String base) +    { +        this.idx = OFF; +        this.visible = false; +        this.images = new Image[3]; +        this.images[OFF] = new Image(atlas.findRegion(base + "-off")); +        this.images[ON] = new Image(atlas.findRegion(base + "-on")); +        this.images[DOWN] = new Image(atlas.findRegion(base + "-down")); + +        this.rect = new Rectangle(getX(), getY(), getWidth(), getHeight()); +    } + +    @Override +    public void dispose() +    { +        for (Image image : images) +            image.dispose(); +    } + +    public void hide() +    { +        idx = OFF; +        visible = false; +    } + +    public void setOff() +    { +        idx = OFF; +    } + +    public void setOn() +    { +        idx = ON; +    } + +    public void setDown() +    { +        idx = DOWN; +    } + +    public boolean isOn() +    { +        return (idx == ON); +    } + +    public boolean isOff() +    { +        return (idx == OFF); +    } + +    public boolean isDisabled() +    { +        return (idx == DOWN); +    } + +    public Image getImage() +    { +        return images[idx]; +    } + +    public void setPosition(float x, float y) +    { +        for (Image image : images) +            image.setPosition(x, y); +        rect.set(x, y, getWidth(), getHeight()); +    } + +    public boolean hit(float x, float y) +    { +        if (!visible) return false; +        return rect.contains(x,y); +    } + +    public float getX() { return images[0].getX(); } +    public float getY() { return images[0].getY(); } +    public float getWidth() { return images[0].getWidth(); } +    public float getHeight() { return images[0].getHeight(); } +} | 
