From a62bca503e21deecbc7c9e5fb194bacb9b8dc6ef Mon Sep 17 00:00:00 2001 From: drdev Date: Sun, 7 Feb 2016 02:39:58 +0000 Subject: [PATCH] Support displaying plane and region in banner --- .../src/forge/assets/FSkinImage.java | 1 + .../ConquestMultiverseScreen.java | 95 +++++++++++------- .../skins/default/sprite_planar_conquest.png | Bin 75197 -> 81448 bytes .../src/main/java/forge/assets/FSkinProp.java | 1 + 4 files changed, 63 insertions(+), 34 deletions(-) diff --git a/forge-gui-mobile/src/forge/assets/FSkinImage.java b/forge-gui-mobile/src/forge/assets/FSkinImage.java index 77066694ade..5dedf6cc633 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinImage.java +++ b/forge-gui-mobile/src/forge/assets/FSkinImage.java @@ -125,6 +125,7 @@ public enum FSkinImage implements FImage { PW_BADGE_UNCOMMON (FSkinProp.IMG_PW_BADGE_UNCOMMON, SourceFile.PLANAR_CONQUEST), PW_BADGE_RARE (FSkinProp.IMG_PW_BADGE_RARE, SourceFile.PLANAR_CONQUEST), PW_BADGE_MYTHIC (FSkinProp.IMG_PW_BADGE_MYTHIC, SourceFile.PLANAR_CONQUEST), + PLANE_BANNER (FSkinProp.IMG_PLANE_BANNER, SourceFile.PLANAR_CONQUEST), //Quest Icons QUEST_ZEP (FSkinProp.ICO_QUEST_ZEP, SourceFile.ICONS), diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index 57fd5c15886..ecece6dfc63 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -16,6 +16,7 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FSkinTexture; +import forge.assets.TextRenderer; import forge.card.CardAvatarImage; import forge.card.CardDetailUtil; import forge.card.CardRenderer; @@ -52,10 +53,13 @@ import forge.util.collect.FCollectionView; public class ConquestMultiverseScreen extends FScreen { private static final Color FOG_OF_WAR_COLOR = FSkinColor.alphaColor(Color.BLACK, 0.65f); private static final Color UNCONQUERED_COLOR = FSkinColor.alphaColor(Color.BLACK, 0.1f); + private static final FSkinFont LOCATION_BAR_FONT = FSkinFont.get(16); + private static final FSkinFont BATTLE_BAR_FONT = FSkinFont.get(14); private static final float BATTLE_BAR_HEIGHT = Utils.AVG_FINGER_HEIGHT * 2; - private static final FSkinFont BATTLE_BAR_NAME_FONT = FSkinFont.get(14); + private static final float PADDING = Utils.scale(3f); private final PlaneGrid planeGrid; + private final LocationBar locationBar; private final BattleBar battleBar; private ConquestData model; private ConquestBattle activeBattle; @@ -64,6 +68,7 @@ public class ConquestMultiverseScreen extends FScreen { super("", ConquestMenu.getMenu()); planeGrid = add(new PlaneGrid()); + locationBar = add(new LocationBar()); battleBar = add(new BattleBar()); } @@ -98,8 +103,10 @@ public class ConquestMultiverseScreen extends FScreen { @Override protected void doLayout(float startY, float width, float height) { + float locationBarHeight = LOCATION_BAR_FONT.getLineHeight() * 1.4f; battleBar.setBounds(0, height - BATTLE_BAR_HEIGHT, width, BATTLE_BAR_HEIGHT); - planeGrid.setBounds(0, startY, width, height - BATTLE_BAR_HEIGHT - startY); + locationBar.setBounds(0, height - BATTLE_BAR_HEIGHT - locationBarHeight, width, locationBarHeight); + planeGrid.setBounds(0, startY, width, height - BATTLE_BAR_HEIGHT - locationBarHeight - startY); planeGrid.scrollPlaneswalkerIntoView(); } @@ -113,6 +120,7 @@ public class ConquestMultiverseScreen extends FScreen { planeGrid.revalidate(); planeGrid.scrollPlaneswalkerIntoView(); + locationBar.update(); battleBar.update(); } @@ -517,6 +525,7 @@ public class ConquestMultiverseScreen extends FScreen { model.saveData(); //save new location activeMoveAnimation = null; + locationBar.update(); battleBar.update(); } } @@ -581,6 +590,47 @@ public class ConquestMultiverseScreen extends FScreen { } } + @Override + protected void drawBackground(Graphics g) { + float w = getWidth(); + float h = getHeight(); + + g.startClip(0, locationBar.getTop(), w, h - locationBar.getTop()); + + FImage background = FSkinTexture.BG_SPACE; + float backgroundHeight = w * background.getHeight() / background.getWidth(); + g.drawImage(background, 0, h - backgroundHeight, w, backgroundHeight); + + g.endClip(); + } + + private class LocationBar extends FDisplayObject { + private final TextRenderer textRenderer = new TextRenderer(); + private String text; + + private void update() { + ConquestRegion region = model.getCurrentLocation().getRegion(); + text = region.toString(); + text += " " + region.getColorSet().toSymbolString(); + } + + @Override + public void draw(Graphics g) { + float w = getWidth(); + float h = getHeight(); + + //draw background + g.drawImage(FSkinImage.PLANE_BANNER, 0, 0, w, h); + + //draw text + textRenderer.drawText(g, text, LOCATION_BAR_FONT, Color.BLACK, 0, 0, w, h, 0, h, false, HAlignment.CENTER, true); + + //draw top and bottom borders + g.drawLine(1, Color.BLACK, 0, 0, w, 0); + g.drawLine(1, Color.BLACK, 0, h, w, h); + } + } + private class BattleBar extends FContainer { private final AvatarDisplay playerAvatar, opponentAvatar; private final FButton btnBattle; @@ -606,50 +656,27 @@ public class ConquestMultiverseScreen extends FScreen { @Override protected void doLayout(float width, float height) { - float padding = Utils.scale(3f); - float labelHeight = BATTLE_BAR_NAME_FONT.getLineHeight() * 1.1f; - float avatarSize = height - labelHeight - 2 * padding; + float labelHeight = BATTLE_BAR_FONT.getLineHeight() * 1.1f; + float avatarSize = height - labelHeight - 2 * PADDING; - playerAvatar.setBounds(padding, height - avatarSize - padding, avatarSize, avatarSize); - opponentAvatar.setBounds(width - avatarSize - padding, padding, avatarSize, avatarSize); + playerAvatar.setBounds(PADDING, height - avatarSize - PADDING, avatarSize, avatarSize); + opponentAvatar.setBounds(width - avatarSize - PADDING, PADDING, avatarSize, avatarSize); - float buttonWidth = width - 2 * avatarSize - 4 * padding; - float buttonHeight = height - 2 * labelHeight - 4 * padding; + float buttonWidth = width - 2 * avatarSize - 4 * PADDING; + float buttonHeight = height - 2 * labelHeight - 4 * PADDING; btnBattle.setBounds((width - buttonWidth) / 2, (height - buttonHeight) / 2, buttonWidth, buttonHeight); } - @Override - protected void drawBackground(Graphics g) { - float w = getWidth(); - float h = getHeight(); - - g.startClip(0, 0, w, h); - - FImage background = FSkinTexture.BG_SPACE; - float backgroundHeight = w * background.getHeight() / background.getWidth(); - g.drawImage(background, 0, h - backgroundHeight, w, backgroundHeight); - - g.endClip(); - } - @Override protected void drawOverlay(Graphics g) { - float w = getWidth(); - float h = getHeight(); - - //draw top border - g.drawLine(1, Color.BLACK, 0, 0, w, 0); - - //draw labels above and below avatars - float padding = playerAvatar.getLeft(); - float labelWidth = opponentAvatar.getLeft() - 2 * padding; + float labelWidth = opponentAvatar.getLeft() - 2 * PADDING; float labelHeight = playerAvatar.getTop(); if (playerAvatar.card != null) { - g.drawText(playerAvatar.card.getName(), BATTLE_BAR_NAME_FONT, Color.WHITE, padding, 0, labelWidth, labelHeight, false, HAlignment.LEFT, true); + g.drawText(playerAvatar.card.getName(), BATTLE_BAR_FONT, Color.WHITE, PADDING, 0, labelWidth, labelHeight, false, HAlignment.LEFT, true); } if (opponentAvatar.card != null) { - g.drawText(opponentAvatar.card.getName(), BATTLE_BAR_NAME_FONT, Color.WHITE, w - labelWidth - padding, h - labelHeight, labelWidth, labelHeight, false, HAlignment.RIGHT, true); + g.drawText(opponentAvatar.card.getName(), BATTLE_BAR_FONT, Color.WHITE, getWidth() - labelWidth - PADDING, getHeight() - labelHeight, labelWidth, labelHeight, false, HAlignment.RIGHT, true); } } diff --git a/forge-gui/res/skins/default/sprite_planar_conquest.png b/forge-gui/res/skins/default/sprite_planar_conquest.png index 01670b992e4b58f536b75474ebf426227ad2b87e..2dfcbd5d711713093769cf819ea6a29993f10a3b 100644 GIT binary patch delta 13295 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 ZnM?m@EFq#D_E!&_ytJ}Zm85ad{{bsnG|B(~ delta 6995 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 diff --git a/forge-gui/src/main/java/forge/assets/FSkinProp.java b/forge-gui/src/main/java/forge/assets/FSkinProp.java index cf7e5956896..62a1a996c5c 100644 --- a/forge-gui/src/main/java/forge/assets/FSkinProp.java +++ b/forge-gui/src/main/java/forge/assets/FSkinProp.java @@ -251,6 +251,7 @@ public enum FSkinProp { IMG_PW_BADGE_UNCOMMON (new int[] {443, 110, 110, 110}, PropType.PLANAR_CONQUEST), IMG_PW_BADGE_RARE (new int[] {443, 220, 110, 110}, PropType.PLANAR_CONQUEST), IMG_PW_BADGE_MYTHIC (new int[] {443, 330, 110, 110}, PropType.PLANAR_CONQUEST), + IMG_PLANE_BANNER (new int[] {0, 440, 226, 74}, PropType.PLANAR_CONQUEST), //button images IMG_BTN_START_UP (new int[] {480, 200, 160, 80}, PropType.ICON),