diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2015-12-18 11:10:21 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2015-12-18 11:10:21 +0100 |
commit | cb81f0a8a194ceebaea880f9027635e6a27df69e (patch) | |
tree | a64e55aaa5f45d8329737af6633a6d3fe9f3a3ff /core | |
parent | 75ff89304eaf9052ab889bb7ec81c96de4fa7908 (diff) | |
download | RustAndDust-cb81f0a8a194ceebaea880f9027635e6a27df69e.zip RustAndDust-cb81f0a8a194ceebaea880f9027635e6a27df69e.tar.gz |
UI: merge menu and ui assets, AtlasRegion are known and provided by RustAndDust
Diffstat (limited to 'core')
-rw-r--r-- | core/src/ch/asynk/rustanddust/RustAndDust.java | 29 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/game/Hud.java | 4 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/MainMenu.java | 7 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/OptionsMenu.java | 13 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/PlayMenu.java | 24 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/ScenariosMenu.java | 10 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/TutorialsMenu.java | 14 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/screens/MenuScreen.java | 26 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/ui/Msg.java | 8 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/ui/OkCancel.java | 11 |
10 files changed, 75 insertions, 71 deletions
diff --git a/core/src/ch/asynk/rustanddust/RustAndDust.java b/core/src/ch/asynk/rustanddust/RustAndDust.java index 3985379..5a63c70 100644 --- a/core/src/ch/asynk/rustanddust/RustAndDust.java +++ b/core/src/ch/asynk/rustanddust/RustAndDust.java @@ -7,6 +7,7 @@ import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; @@ -20,9 +21,9 @@ import ch.asynk.rustanddust.ui.Bg; public class RustAndDust extends Game { + public static final String NINEPATCH = "typewriter"; public static final String TTF_FONT = "skin/veteran-typewriter.ttf"; public static final String ATLAS_UI = "data/ui.atlas"; - public static final String ATLAS_MENU = "data/menu.atlas"; public static final String ATLAS_HUD = "data/hud.atlas"; public static final String ATLAS_UNITS = "data/units%d.atlas"; public static final String ATLAS_UNIT_OVERLAYS = "data/unit-overlays%d.atlas"; @@ -44,6 +45,15 @@ public class RustAndDust extends Game public static final String SND_PROMOTE_US = "sounds/promote_us.mp3"; public static final String SND_PROMOTE_GE = "sounds/promote_ge.mp3"; + public static final String UI_OK = "ok"; + public static final String UI_CANCEL = "cancel"; + public static final String UI_FROM = "from"; + public static final String UI_TO = "to"; + public static final String UI_MOVE = "move"; + public static final String UI_UNIT = "unit"; + public static final String UI_US_FLAG = "us-flag"; + public static final String UI_GE_FLAG = "ge-flag"; + public AssetManager manager; public Factory factory; public Ctrl ctrl; @@ -51,8 +61,8 @@ public class RustAndDust extends Game public int hudCorrection; public TextureAtlas uiAtlas; - public TextureAtlas menuAtlas; public BitmapFont font; + public NinePatch ninePatch; public enum State { @@ -72,6 +82,11 @@ public class RustAndDust extends Game Gdx.app.debug(dom, msg); } + public TextureAtlas.AtlasRegion getUiRegion(String s) + { + return uiAtlas.findRegion(s); + } + @Override public void create () { @@ -115,7 +130,7 @@ public class RustAndDust extends Game if (config.battle.getMapType() == Factory.MapType.MAP_00) manager.load(PNG_MAP_00, Texture.class); int i = config.graphics.i; - manager.load(String.format(ATLAS_UNITS,i), TextureAtlas.class); + manager.load(String.format(ATLAS_UNITS, i), TextureAtlas.class); manager.load(String.format(ATLAS_UNIT_OVERLAYS, i), TextureAtlas.class); manager.load(ATLAS_HUD, TextureAtlas.class); manager.load(ATLAS_HEX_OVERLAYS, TextureAtlas.class); @@ -142,8 +157,8 @@ public class RustAndDust extends Game if (config.battle.getMapType() == Factory.MapType.MAP_00) manager.unload(PNG_MAP_00); int i = config.graphics.i; - manager.unload(String.format(ATLAS_UNITS,i)); - manager.unload(String.format(ATLAS_UNIT_OVERLAYS)); + manager.unload(String.format(ATLAS_UNITS, i)); + manager.unload(String.format(ATLAS_UNIT_OVERLAYS, i)); manager.unload(ATLAS_HUD); manager.unload(ATLAS_HEX_OVERLAYS); manager.unload(PNG_SELECTED); @@ -177,6 +192,7 @@ public class RustAndDust extends Game parameter.size = Math.max((int) (h * 0.04f), 16); parameter.color = Color.BLACK; font = generator.generateFont(parameter); + ninePatch = uiAtlas.createPatch(NINEPATCH); } private void unloadUiAssets() @@ -188,15 +204,12 @@ public class RustAndDust extends Game private void loadMenuAssets() { manager.load(PNG_MAP_00, Texture.class); - manager.load(ATLAS_MENU, TextureAtlas.class); manager.finishLoading(); - menuAtlas = manager.get(ATLAS_MENU, TextureAtlas.class); } private void unloadMenuAssets() { manager.unload(PNG_MAP_00); - manager.unload(ATLAS_MENU); } // @Override diff --git a/core/src/ch/asynk/rustanddust/game/Hud.java b/core/src/ch/asynk/rustanddust/game/Hud.java index bd2d600..a60d125 100644 --- a/core/src/ch/asynk/rustanddust/game/Hud.java +++ b/core/src/ch/asynk/rustanddust/game/Hud.java @@ -65,8 +65,8 @@ public class Hud implements Disposable, Animation playerInfo = new PlayerInfo(ctrl, game.font, game.uiAtlas, hudAtlas); actionButtons = new ActionButtons(ctrl, game.uiAtlas, hudAtlas); actionButtons.hide(); - msg = new Msg(game.font, game.uiAtlas); - okCancel = new OkCancel(game.font, game.uiAtlas); + msg = new Msg(game.font, game.ninePatch, 20f); + okCancel = new OkCancel(game.font, game.ninePatch, game.getUiRegion(game.UI_OK), game.getUiRegion(game.UI_CANCEL)); stats = new StatisticsPanel(game.font, game.uiAtlas, hudAtlas); engagement = new EngagementPanel(game.font, game.uiAtlas, hudAtlas); } diff --git a/core/src/ch/asynk/rustanddust/menu/MainMenu.java b/core/src/ch/asynk/rustanddust/menu/MainMenu.java index ff65d50..620205a 100644 --- a/core/src/ch/asynk/rustanddust/menu/MainMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/MainMenu.java @@ -1,9 +1,8 @@ package ch.asynk.rustanddust.menu; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import ch.asynk.rustanddust.RustAndDust; import ch.asynk.rustanddust.ui.Menu; public class MainMenu extends Menu @@ -24,9 +23,9 @@ public class MainMenu extends Menu public int last() { return NONE.i; } }; - public MainMenu(BitmapFont font, TextureAtlas atlas) + public MainMenu(RustAndDust game) { - super(Items.NONE, font, atlas.createPatch("typewriter")); + super(Items.NONE, game.font, game.ninePatch); label(Items.PLAY).write("Play"); label(Items.TUTORIALS).write("Tutorials"); diff --git a/core/src/ch/asynk/rustanddust/menu/OptionsMenu.java b/core/src/ch/asynk/rustanddust/menu/OptionsMenu.java index e2b3b1e..4499405 100644 --- a/core/src/ch/asynk/rustanddust/menu/OptionsMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/OptionsMenu.java @@ -3,7 +3,6 @@ package ch.asynk.rustanddust.menu; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; import ch.asynk.rustanddust.ui.Label; import ch.asynk.rustanddust.ui.Bg; @@ -44,14 +43,14 @@ public class OptionsMenu extends Patch protected Bg okBtn; protected Bg cancelBtn; - public OptionsMenu(RustAndDust game, BitmapFont font, TextureAtlas atlas) + public OptionsMenu(RustAndDust game) { - super(atlas.createPatch("typewriter")); + super(game.ninePatch); this.game = game; - this.font = font; - this.okCancel = new OkCancel(font, atlas); - this.okBtn = new Bg(atlas.findRegion("ok")); - this.cancelBtn = new Bg(atlas.findRegion("cancel")); + this.font = game.font; + this.okCancel = new OkCancel(font, game.ninePatch, game.getUiRegion(game.UI_OK), game.getUiRegion(game.UI_CANCEL)); + this.okBtn = new Bg(game.getUiRegion(game.UI_OK)); + this.cancelBtn = new Bg(game.getUiRegion(game.UI_CANCEL)); this.title = new Label(font); this.title.write("- Options"); this.fxVolume = new Label(font); diff --git a/core/src/ch/asynk/rustanddust/menu/PlayMenu.java b/core/src/ch/asynk/rustanddust/menu/PlayMenu.java index cbf182d..866a647 100644 --- a/core/src/ch/asynk/rustanddust/menu/PlayMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/PlayMenu.java @@ -1,8 +1,6 @@ package ch.asynk.rustanddust.menu; import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; import ch.asynk.rustanddust.ui.Label; import ch.asynk.rustanddust.ui.Bg; @@ -17,7 +15,6 @@ public class PlayMenu extends Patch public static int VSPACING = 30; private final RustAndDust game; - private final BitmapFont font; private Label title; private Label gameMode; @@ -32,22 +29,21 @@ public class PlayMenu extends Patch public boolean launch; - public PlayMenu(RustAndDust game, BitmapFont font, TextureAtlas atlas) + public PlayMenu(RustAndDust game) { - super(atlas.createPatch("typewriter")); + super(game.ninePatch); this.game = game; - this.font = font; - this.title = new Label(font); + this.title = new Label(game.font); this.title.write("- Play"); - this.gameMode = new Label(font); + this.gameMode = new Label(game.font); this.gameMode.write("Game mode : "); - this.gameModeValue = new Label(font); - this.okBtn = new Bg(atlas.findRegion("ok")); - this.cancelBtn = new Bg(atlas.findRegion("cancel")); - this.battle = new Label(font); + this.gameModeValue = new Label(game.font); + this.okBtn = new Bg(game.getUiRegion(game.UI_OK)); + this.cancelBtn = new Bg(game.getUiRegion(game.UI_CANCEL)); + this.battle = new Label(game.font); this.battle.write("Scenario : "); - this.battleValue = new Label(font); - this.okCancel = new OkCancel(font, atlas); + this.battleValue = new Label(game.font); + this.okCancel = new OkCancel(game.font, game.ninePatch, game.getUiRegion(game.UI_OK), game.getUiRegion(game.UI_CANCEL)); if (game.config.battle == null) { battleIdx = 0; diff --git a/core/src/ch/asynk/rustanddust/menu/ScenariosMenu.java b/core/src/ch/asynk/rustanddust/menu/ScenariosMenu.java index 7140e48..cb1fcef 100644 --- a/core/src/ch/asynk/rustanddust/menu/ScenariosMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/ScenariosMenu.java @@ -31,13 +31,13 @@ public class ScenariosMenu extends Patch public boolean launch; - public ScenariosMenu(RustAndDust game, BitmapFont font, TextureAtlas atlas) + public ScenariosMenu(RustAndDust game) { - super(atlas.createPatch("typewriter")); + super(game.ninePatch); this.game = game; - this.font = font; - this.okBtn = new Bg(atlas.findRegion("ok")); - this.cancelBtn = new Bg(atlas.findRegion("cancel")); + this.font = game.font; + this.okBtn = new Bg(game.getUiRegion(game.UI_OK)); + this.cancelBtn = new Bg(game.getUiRegion(game.UI_CANCEL)); this.title = new Label(font); this.title.write("- Scenarios"); this.battleLabels = new Label[game.factory.battles.length]; diff --git a/core/src/ch/asynk/rustanddust/menu/TutorialsMenu.java b/core/src/ch/asynk/rustanddust/menu/TutorialsMenu.java index 53dd29f..87e2765 100644 --- a/core/src/ch/asynk/rustanddust/menu/TutorialsMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/TutorialsMenu.java @@ -1,8 +1,6 @@ package ch.asynk.rustanddust.menu; import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; import ch.asynk.rustanddust.ui.Label; import ch.asynk.rustanddust.ui.Bg; @@ -15,21 +13,19 @@ public class TutorialsMenu extends Patch public static int TITLE_PADDING = 30; private final RustAndDust game; - private final BitmapFont font; private Label title; private Label msg; protected Bg okBtn; - public TutorialsMenu(RustAndDust game, BitmapFont font, TextureAtlas atlas) + public TutorialsMenu(RustAndDust game) { - super(atlas.createPatch("typewriter")); + super(game.ninePatch); this.game = game; - this.font = font; - this.okBtn = new Bg(atlas.findRegion("ok")); - this.title = new Label(font); + this.okBtn = new Bg(game.getUiRegion(game.UI_OK)); + this.title = new Label(game.font); this.title.write("- Tutorials"); - this.msg = new Label(font); + this.msg = new Label(game.font); this.msg.write("Not implemented yet."); this.visible = false; diff --git a/core/src/ch/asynk/rustanddust/screens/MenuScreen.java b/core/src/ch/asynk/rustanddust/screens/MenuScreen.java index d9d2221..48f9656 100644 --- a/core/src/ch/asynk/rustanddust/screens/MenuScreen.java +++ b/core/src/ch/asynk/rustanddust/screens/MenuScreen.java @@ -69,19 +69,19 @@ public class MenuScreen implements Screen this.gameAssetsLoading = false; - this.bg = game.manager.get("data/map_00.png", Texture.class); - - this.unit = new Sprite(game.menuAtlas.findRegion("unit")); - this.move = new Sprite(game.menuAtlas.findRegion("move")); - this.from = new Sprite(game.menuAtlas.findRegion("from")); - this.to = new Sprite(game.menuAtlas.findRegion("to")); - this.usFlag = new Sprite(game.menuAtlas.findRegion("us-flag")); - this.geFlag = new Sprite(game.menuAtlas.findRegion("ge-flag")); - - this.mainMenu = new MainMenu(game.font, game.uiAtlas); - this.playMenu = new PlayMenu(game, game.font, game.uiAtlas); - this.optionsMenu = new OptionsMenu(game, game.font, game.uiAtlas); - this.tutorialsMenu = new TutorialsMenu(game, game.font, game.uiAtlas); + this.bg = game.manager.get(game.PNG_MAP_00, Texture.class); + + this.unit = new Sprite(game.getUiRegion(game.UI_UNIT)); + this.move = new Sprite(game.getUiRegion(game.UI_MOVE)); + this.from = new Sprite(game.getUiRegion(game.UI_FROM)); + this.to = new Sprite(game.getUiRegion(game.UI_TO)); + this.usFlag = new Sprite(game.getUiRegion(game.UI_US_FLAG)); + this.geFlag = new Sprite(game.getUiRegion(game.UI_GE_FLAG)); + + this.mainMenu = new MainMenu(game); + this.playMenu = new PlayMenu(game); + this.optionsMenu = new OptionsMenu(game); + this.tutorialsMenu = new TutorialsMenu(game); Gdx.input.setInputProcessor(new InputAdapter() { @Override diff --git a/core/src/ch/asynk/rustanddust/ui/Msg.java b/core/src/ch/asynk/rustanddust/ui/Msg.java index e1e7c13..16c4e2d 100644 --- a/core/src/ch/asynk/rustanddust/ui/Msg.java +++ b/core/src/ch/asynk/rustanddust/ui/Msg.java @@ -2,17 +2,17 @@ package ch.asynk.rustanddust.ui; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; public class Msg extends Patch { private LabelStack label; - public Msg(BitmapFont font, TextureAtlas atlas) + public Msg(BitmapFont font, NinePatch patch, float fontSize) { - super(atlas.createPatch("typewriter")); - label = new LabelStack(font, 20f); + super(patch); + label = new LabelStack(font, fontSize); } @Override diff --git a/core/src/ch/asynk/rustanddust/ui/OkCancel.java b/core/src/ch/asynk/rustanddust/ui/OkCancel.java index c064102..7b0bd1c 100644 --- a/core/src/ch/asynk/rustanddust/ui/OkCancel.java +++ b/core/src/ch/asynk/rustanddust/ui/OkCancel.java @@ -1,8 +1,9 @@ package ch.asynk.rustanddust.ui; import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.graphics.g2d.TextureAtlas.AtlasRegion; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; public class OkCancel extends Patch @@ -16,12 +17,12 @@ public class OkCancel extends Patch protected Bg okBtn; protected Bg cancelBtn; - public OkCancel(BitmapFont font, TextureAtlas atlas) + public OkCancel(BitmapFont font, NinePatch patch, AtlasRegion okRegion, AtlasRegion cancelRegion) { - super(atlas.createPatch("typewriter")); + super(patch); this.label = new Label(font); - this.okBtn = new Bg(atlas.findRegion("ok")); - this.cancelBtn = new Bg(atlas.findRegion("cancel")); + this.okBtn = new Bg(okRegion); + this.cancelBtn = new Bg(cancelRegion); this.visible = false; } |