@Override public void onClick(View v) { v.setVisibility(View.GONE); for (MenuButton mb : overflowButtonList) { mb.setVisibility(View.VISIBLE); } }
/** * @param mainNode * @param subNodes * @param limitGridSize * @param isFirst - true if this is the first section */ public void addSubsection( MenuNode mainNode, List<BilingualNode> subNodes, boolean limitGridSize, boolean isFirst) { if (subNodes.size() == 0) return; if (mainNode != null) { Log.d("MenuGrid", "" + isFirst); MenuSubtitle ms = new MenuSubtitle(context, mainNode, menuState.getLang(), isFirst); menuElementList.add(ms); gridRoot.addView(ms); } int currNodeIndex = 0; for (int i = 0; i <= Math.ceil(subNodes.size() / numColumns) && currNodeIndex < subNodes.size(); i++) { LinearLayout ll = addRow(); for (int j = 0; j < numColumns && currNodeIndex < subNodes.size(); j++) { MenuButton mb = addElement((MenuNode) subNodes.get(currNodeIndex), mainNode, ll, j); if (currNodeIndex >= HOME_MENU_OVERFLOW_NUM - 1 && limitGridSize) { mb.setVisibility(View.GONE); overflowButtonList.add(mb); } currNodeIndex++; } // add 'more' button in the row which was overflowed if (Math.floor(HOME_MENU_OVERFLOW_NUM / numColumns) == i + 1 && limitGridSize) addMoreButton(ll); } }
@Override protected void layout() { height = 32; shield.size(width, shield.height); avatar.x = PixelScene.align(camera(), shield.x + 15 - avatar.width / 2); avatar.y = PixelScene.align(camera(), shield.y + 16 - avatar.height / 2); compass.x = avatar.x + avatar.width / 2 - compass.origin.x; compass.y = avatar.y + avatar.height / 2 - compass.origin.y; hp.x = 30; hp.y = 3; depth.x = width - 24 - depth.width() - 18; depth.y = 6; keys.y = 6; danger.setPos(width - danger.width(), 18); buffs.setPos(31, 9); btnMenu.setPos(width - btnMenu.width(), 1); }
// adds the 'Other' button for home page private MenuButton addMoreButton(LinearLayout ll) { MenuNode moreNode = new MenuNode("More", "עוד", null); moreMenuButton = new MenuButton(context, moreNode, null, menuState.getLang()); moreMenuButton.setIsMore(true); moreMenuButton.setOnClickListener(moreButtonClick); ll.addView(moreMenuButton); menuElementList.add(moreMenuButton); return moreMenuButton; }
private MenuButton addElement( MenuNode menuNode, MenuNode sectionNode, LinearLayout ll, int childIndex) { ll.removeViewAt(childIndex); MenuButton mb = new MenuButton(context, menuNode, sectionNode, menuState.getLang()); mb.setOnClickListener(menuButtonClick); mb.setOnLongClickListener(menuButtonLongClick); ll.addView(mb, childIndex); menuElementList.add(mb); return mb; }
private boolean menuClick(View v, boolean longClick) { boolean goToTOC = longClick; longClick = false; MenuButton mb = (MenuButton) v; MenuState newMenuState = menuState.goForward(mb.getNode(), mb.getSectionNode()); Intent intent; if (mb.isBook()) { Book book = null; try { if (!Settings.getUseAPI() && !Database.hasOfflineDB()) { // There's no DB //TODO make it work with API Settings.setUseAPI(true); } book = new Book(newMenuState.getCurrNode().getTitle(Util.Lang.EN)); if (goToTOC) { intent = TOCActivity.getStartTOCActivityIntent(context, book, null); /// intent = new Intent(context, TOCActivity.class); // intent.putExtra("currBook", book); // intent.putExtra("lang", newMenuState.getLang()); context.startActivity(intent); return true; } else { SuperTextActivity.startNewTextActivityIntent(context, book, longClick); } } catch (Book.BookNotFoundException e) { Toast.makeText(context, MyApp.getRString(R.string.sorry_book_not_found), Toast.LENGTH_SHORT) .show(); } } else { intent = new Intent(context, MenuActivity.class); Bundle options = null; if (longClick) { intent = MyApp.startNewTab(intent); options = ActivityOptionsCompat.makeCustomAnimation( context, R.animator.activity_zoom_in, R.animator.activity_zoom_out) .toBundle(); } intent.putExtra("menuState", newMenuState); intent.putExtra("hasSectionBack", mb.getSectionNode() != null); intent.putExtra("hasTabBack", hasTabs); if (longClick) { ActivityCompat.startActivityForResult((Activity) context, intent, 0, options); } else { ((Activity) context).startActivityForResult(intent, 0); } } return false; }
public MainStageController(Controller controller) { this.controller = controller; FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("MainStage.fxml")); fxmlLoader.setController(this); try { root = fxmlLoader.load(); } catch (IOException e) { e.printStackTrace(); } currentUserMenuButton.setText(controller.getCurrentUser().getName()); collectAccountTable(); accountsTable .getSelectionModel() .selectedItemProperty() .addListener( new ChangeListener<Account>() { @Override public void changed( ObservableValue<? extends Account> observable, Account oldValue, Account newValue) { controller.setCurrentAccount(accountsTable.getSelectionModel().getSelectedItem()); showRecords(controller.getCurrentAccount()); showBalanceLabel(); } }); showRecords(controller.getCurrentAccount()); showBalanceLabel(); }
private void drawEnemyMessage(Graphics2D g2d) { Font messageFont = new Font("Arial", Font.BOLD, 15); g2d.setFont(messageFont); if (enemyMoveChosen) { String text = ""; if (drawMoveApplication) { text = effectMessage; } else { text = enemy.getName() + " uses " + lastEnemyMove.getName() + " on " + MainCharacter.characterName + "!"; } ArrayList<String> lines = new ArrayList<>(); int width = (int) (messageFont.getStringBounds(text, g2d.getFontRenderContext()).getWidth()); if (width > cardButton.getWidth() * 2 + 40) { String[] split = text.split("\\s+"); int tempWidth = 0; int maxWidth = 0; String line = ""; for (int i = 0; i < split.length; i++) { tempWidth += (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); if (tempWidth > cardButton.getWidth() * 2 + 40) { tempWidth = (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); lines.add(line); line = split[i] + " "; } else { line = line + split[i] + " "; } if (tempWidth > maxWidth) { maxWidth = tempWidth; } } lines.add(line); } else { lines.add(text); } for (int i = 0; i < lines.size(); i++) { g2d.drawString(lines.get(i), cardButton.getX(), cardButton.getY() + 15 + 30 * i); } } else { g2d.drawString("The Enemy is deciding", cardButton.getX(), cardButton.getY() + 15); g2d.drawString("their move...", cardButton.getX(), cardButton.getY() + 15 + 30); } }
private void drawActionBox(Graphics2D g2d) { // Draw the MainCharacter and enemy images // Draw the buttons cardButton.draw(g2d); itemButton.draw(g2d); drawButton.draw(g2d); runButton.draw(g2d); if (turnState == 0) { actionScroller.draw(g2d); } else if (turnState == 1) { cardScroller.draw(g2d); } else if (turnState == 2) { itemMenu.draw(g2d); } else if (turnState == 3) { deckScroller.draw(g2d); } }
@Override protected void onRelease() { super.onRelease(); // Toggle value _value = !_value; _text01 = _value ? _onText : _offText; onValueChange(); }
public MyDialog() { super(); // "\u041e\u0448\u0438\u0431\u043a\u0430\u002e", true); setSize(200, 100); setLocation(350, 260); setBackground(new Color(0.77254903f, 0.015686275f, 0.12941177f, 1f)); setVisible(false); // <html><body text="red"><h3><i> </i></h3></body> label = new JTextPane(); label.setSize(196, 70); label.setLocation(2, 2); label.setBackground(new Color(0.77254903f, 0.015686275f, 0.12941177f, 1f)); label.setFont(new Font("Serif", Font.PLAIN, 16)); text = new String(""); MenuButton continuer = new MenuButton( "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c", 2, 75, 96, 20, 7f); continuer.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { setVisible(false); } }); MenuButton more = new MenuButton( "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435", 102, 75, 96, 20, 7f); more.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { label.setText(text); } }); setLayout(null); add(label); add(continuer); add(more); }
public MenuButton addButton(int text, int drawable, int id) { LayoutInflater inflater = LayoutInflater.from(getContext()); MenuButton b = (MenuButton) inflater.inflate(R.layout.button, this, false); b.setBackgroundResourceKeepPadding(buttonBackgroundNormalId); b.setText(text); b.setId(id); if (orientation == Configuration.ORIENTATION_LANDSCAPE) { b.setCompoundDrawablesWithIntrinsicBounds(drawable, 0, 0, 0); } else { b.setCompoundDrawablesWithIntrinsicBounds(0, drawable, 0, 0); } addView(b); b.setOnClickListener((MyExpenses) getContext()); b.setOnLongClickListener((MyExpenses) getContext()); return b; }
public void closeMoreClick() { if (moreMenuButton != null) moreMenuButton.setVisibility(View.VISIBLE); for (MenuButton mb : overflowButtonList) { mb.setVisibility(View.GONE); } }
@Override public void draw(SpriteBatch spriteBatch) { setColor(_value ? Color.ORANGE : Color.WHITE); super.draw(spriteBatch); }
private void drawLossMessage(Graphics2D g2d) { Font messageFont = new Font("Arial", Font.BOLD, 30); g2d.setFont(messageFont); g2d.drawString("You have died...", cardButton.getX(), cardButton.getY() + 30); }
// Initialization of the Battle State public BattleState(Framework framework, BattleEnemy enemy) { windowWidth = framework.getWidth(); windowHeight = framework.getHeight(); this.enemy = enemy; turn = 0; turnState = 0; Font buttonFont = new Font("Arial", Font.BOLD, 15); int xButtonSpacing = 40; int yButtonSpacing = 35; cardButton = new MenuButton( "Cast Card", xButtonSpacing, 3 * windowHeight / 4 + yButtonSpacing, buttonFont, (Graphics2D) framework.getGraphics(), 5, 5); itemButton = new MenuButton( "Use Item", xButtonSpacing, cardButton.getY() + cardButton.getHeight() + yButtonSpacing, buttonFont, (Graphics2D) framework.getGraphics(), 5, 5); drawButton = new MenuButton( "Draw Card", cardButton.getX() + cardButton.getWidth() + xButtonSpacing, cardButton.getY(), buttonFont, (Graphics2D) framework.getGraphics(), 5, 5); runButton = new MenuButton( "Run", cardButton.getX() + cardButton.getWidth() + xButtonSpacing, cardButton.getY() + cardButton.getHeight() + yButtonSpacing, buttonFont, (Graphics2D) framework.getGraphics(), 5, 5); buttonWidth = drawButton.getWidth(); int buttonHeight = drawButton.getHeight(); cardButton.setWidth(buttonWidth); itemButton.setWidth(buttonWidth); runButton.setWidth(buttonWidth); drawButton.setPosition( cardButton.getX() + cardButton.getWidth() + xButtonSpacing, drawButton.getY()); runButton.setPosition( cardButton.getX() + cardButton.getWidth() + xButtonSpacing, runButton.getY()); int scrollerBuffer = 5; BufferedImage scrollerImage = null; // Load the Scroller Image try { scrollerImage = ImageIO.read(this.getClass().getResource("/resources/images/pointerFinger.png")); } catch (IOException ex) { Logger.getLogger(Framework.class.getName()).log(Level.SEVERE, null, ex); } actionScroller = new MenuScroller2D( scrollerImage, cardButton.getX() - scrollerBuffer, cardButton.getY(), buttonWidth + xButtonSpacing, buttonHeight + yButtonSpacing, 2, 2, 4, 1, 1); actionScroller.setWidth(cardButton.getHeight()); actionScroller.setHeight(cardButton.getHeight()); actionScroller.setPosition( cardButton.getX() - actionScroller.getWidth() - scrollerBuffer, cardButton.getY()); enemyImage = enemy.getBattleImage(); mainCharacterImage = StartGameState.character.getBattleImage(); SoundManager.add( "BattleMusic", new Sound(this.getClass().getResource("/resources/sounds/Woodland_Fantasy_0.wav"), 0)); hand = new IndexedLinkedHashMap<>(); deckCount = 0; if (MainCharacter.maxHand <= MainCharacter.deck.size()) { for (int i = 0; i < MainCharacter.maxHand; i++) { hand.put(i, MainCharacter.deck.get(i)); deckCount++; } } else { for (int i = 0; i < MainCharacter.deck.size(); i++) { hand.put(i, MainCharacter.deck.get(i)); deckCount++; } } try { cardBack = ImageIO.read( this.getClass() .getResource("/resources/images/Cards/40X56 Card Frames Revised/Card_Back.png")); } catch (IOException ex) { Logger.getLogger(Framework.class.getName()).log(Level.SEVERE, null, ex); } int x = drawButton.getX() + drawButton.getWidth() + 40; cardWidth = 3 * windowWidth / 4 - 2 * 15 - cardBack.getWidth() - x; int cardSpacing = cardWidth / hand.size(); cardScroller = new MenuScroller2D( scrollerImage, drawButton.getX() + drawButton.getWidth() + 10, drawButton.getY() + hand.getIndexed(0).getHeight() / 2 - 10, cardSpacing, 0, deckCount, 1, deckCount, 1, 1); cardScroller.setWidth(actionScroller.getWidth()); cardScroller.setHeight(actionScroller.getHeight()); deckScroller = new MenuScroller2D( scrollerImage, 3 * windowWidth / 4 - 15 - cardBack.getWidth() - 10 - actionScroller.getWidth(), drawButton.getY() + hand.getIndexed(0).getHeight() / 2 - 10, 0, 0, 1, 1, 1, 1, 1); deckScroller.setWidth(actionScroller.getWidth()); deckScroller.setHeight(actionScroller.getHeight()); shouldWait = false; drawNoMana = false; drawNoCards = false; drawItemUsed = false; drawParalyzed = false; enemyMoveChosen = false; itemMenu = new ItemsMenu(framework); }
@Override public void draw(Graphics2D g2d) { // After updating we will draw all the objects to the screen g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, windowWidth, windowHeight); g2d.setColor(Color.BLACK); Font font = new Font("Arial", Font.BOLD, 30); g2d.setFont(font); int textWidth = (int) (font.getStringBounds("You Are Now In Battle State", g2d.getFontRenderContext()) .getWidth()); g2d.drawString( "You Are Now In Battle State", windowWidth / 2 - textWidth / 2, windowHeight / 2); // Draw the battle images of the enemy and MainCharacter g2d.drawImage( mainCharacterImage, 60, 3 * windowHeight / 4 - 2 * 60, mainCharacterImage.getWidth() * 2, mainCharacterImage.getHeight() * 2, null); g2d.drawImage( enemyImage, windowWidth - 60 - enemyImage.getWidth(), 60, enemyImage.getWidth(), enemyImage.getHeight(), null); // Draw an action box at the bottom where we decide our actions on each turn g2d.setColor(Color.CYAN); g2d.fillRect(0, 3 * windowHeight / 4, windowWidth, windowHeight / 4 + 2); // Draw the hp and mp bars of the MainCharacter and the Enemy g2d.setColor(Color.BLACK); g2d.drawRect(0, 3 * windowHeight / 4, windowWidth, windowHeight / 4 + 2); Font hpFont = new Font("Arial", Font.BOLD, 15); g2d.setFont(hpFont); String text = "Health: " + String.valueOf(StartGameState.character.health) + "/" + String.valueOf(StartGameState.character.maxHealth); textWidth = (int) (hpFont.getStringBounds(text, g2d.getFontRenderContext()).getWidth()); g2d.drawString( text, 60 + mainCharacterImage.getWidth() * 2 + 45, 3 * windowHeight / 4 - 30 - 15 - 20); text = "Mana: " + String.valueOf(StartGameState.character.mana) + "/" + String.valueOf(StartGameState.character.maxMana); g2d.drawString(text, 60 + mainCharacterImage.getWidth() * 2 + 45, 3 * windowHeight / 4 - 30); text = MainCharacter.characterName; g2d.drawString( text, 60 + mainCharacterImage.getWidth() * 2 + 45, 3 * windowHeight / 4 - 30 - 2 * 15 - 2 * 20); g2d.setColor(Color.GRAY); g2d.fillRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45 - 15 - 20, 100, 15, 3, 3); g2d.fillRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45, 100, 15, 3, 3); g2d.setColor(Color.GREEN); g2d.fillRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45 - 15 - 20, (int) (((float) StartGameState.character.health / (float) StartGameState.character.maxHealth) * 100), 15, 3, 3); g2d.setColor(Color.BLUE); g2d.fillRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45, (int) (((float) StartGameState.character.mana / (float) StartGameState.character.maxMana) * 100), 15, 3, 3); g2d.setColor(Color.BLACK); g2d.drawRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45 - 15 - 20, 100, 15, 3, 3); g2d.drawRoundRect( 60 + mainCharacterImage.getWidth() * 2 + 45 + textWidth + 20, 3 * windowHeight / 4 - 45, 100, 15, 3, 3); // Enemy health and mana bars text = "Health: " + String.valueOf(enemy.health) + "/" + String.valueOf(enemy.maxHealth); textWidth = (int) (hpFont.getStringBounds(text, g2d.getFontRenderContext()).getWidth()); g2d.drawString( text, windowWidth - 60 - enemyImage.getWidth() - 45 - 100 - 20 - textWidth, 60 + 15); text = "Mana: " + String.valueOf(enemy.mana) + "/" + String.valueOf(enemy.maxMana); g2d.drawString( text, windowWidth - 60 - enemyImage.getWidth() - 45 - 100 - 20 - textWidth, 60 + 2 * 15 + 20); text = enemy.getName(); g2d.drawString( text, windowWidth - 60 - enemyImage.getWidth() - 45 - 100 - 20 - textWidth, 60 - 20); g2d.setColor(Color.GRAY); g2d.fillRoundRect(windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60, 100, 15, 3, 3); g2d.fillRoundRect( windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60 + 15 + 20, 100, 15, 3, 3); g2d.setColor(Color.GREEN); g2d.fillRoundRect( windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60, (int) (((float) enemy.health / (float) enemy.maxHealth) * 100), 15, 3, 3); g2d.setColor(Color.BLUE); g2d.fillRoundRect( windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60 + 15 + 20, (int) (((float) enemy.mana / (float) enemy.maxMana) * 100), 15, 3, 3); g2d.setColor(Color.BLACK); g2d.drawRoundRect(windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60, 100, 15, 3, 3); g2d.drawRoundRect( windowWidth - 60 - enemyImage.getWidth() - 45 - 100, 60 + 15 + 20, 100, 15, 3, 3); // Draw the player's hand and the current card int x = drawButton.getX() + drawButton.getWidth() + 40; int y = drawButton.getY() + 10; int i = 0; if (deckCount < MainCharacter.deck.size()) { g2d.drawImage(cardBack, 3 * windowWidth / 4 - 15 - cardBack.getWidth(), y, null); } if (hand.size() > 0) { int cardSpacing = cardWidth / hand.size(); for (Card card : hand.values()) { if (i != cardScroller.getCountX() - 1) { card.draw(g2d, x + i * (cardSpacing), y, 0, 0); } i++; } Card current = hand.getIndexed(cardScroller.getCountX() - 1); current.draw(g2d, x + (cardScroller.getCountX() - 1) * (cardSpacing), y - 20, 0, 0); // If it is MainCharacter turn then we draw the actions in the action box g2d.setFont(new Font("Arial", Font.BOLD, 20)); g2d.setColor(Color.BLACK); int explanationWidth = windowWidth / 4 - 25; g2d.drawString(current.getName(), 3 * windowWidth / 4 + 15, cardButton.getY()); Font explanationFont = new Font("Arial", Font.BOLD, 10); g2d.setFont(explanationFont); ArrayList<String> lines = new ArrayList<>(); // Determines width and height of only the text String dialog = current.getExplanation(); int width = (int) (explanationFont.getStringBounds(dialog, g2d.getFontRenderContext()).getWidth()); if (width > explanationWidth) { String[] split = dialog.split("\\s+"); int tempWidth = 0; int maxWidth = 0; String line = ""; for (i = 0; i < split.length; i++) { tempWidth += (int) (explanationFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); if (tempWidth > explanationWidth) { tempWidth = (int) (explanationFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); lines.add(line); line = split[i] + " "; } else { line = line + split[i] + " "; } if (tempWidth > maxWidth) { maxWidth = tempWidth; } } lines.add(line); } else { lines.add(dialog); } for (i = 0; i < lines.size(); i++) { g2d.drawString( lines.get(i), 3 * windowWidth / 4 + 15, cardButton.getY() + (i + 1) * (10 + 4)); } g2d.setFont(hpFont); String[] effects = current.getEffectStrings(); for (i = 0; i < effects.length; i++) { g2d.drawString( effects[i], 3 * windowWidth / 4 + 15, cardButton.getY() + (lines.size()) * (10 + 4) + (i + 1) * (5 + 15)); } g2d.drawString( "Mana Cost: " + String.valueOf(current.getManaCost()), 3 * windowWidth / 4 + 15, cardButton.getY() + (lines.size()) * (10 + 4) + (i + 1) * (15 + 5)); } if (drawNoMana) { g2d.setFont(new Font("Arial", Font.BOLD, 15)); g2d.drawString("You don't have", cardButton.getX(), cardButton.getY() + 15); g2d.drawString("enough mana!", cardButton.getX(), cardButton.getY() + 2 * 15 + 10); } else if (drawNoCards) { g2d.setFont(new Font("Arial", Font.BOLD, 15)); g2d.drawString("You are out of", cardButton.getX(), cardButton.getY() + 15); g2d.drawString("cards to draw!", cardButton.getX(), cardButton.getY() + 2 * 15 + 10); } else if (drawItemUsed) { g2d.setFont(new Font("Arial", Font.BOLD, 15)); g2d.drawString("You have used", cardButton.getX(), cardButton.getY() + 15); g2d.drawString( itemMenu.getLastItem().name + "!", cardButton.getX(), cardButton.getY() + 2 * 15 + 10); } else if (turn == 0 && drawParalyzed) { g2d.setFont(new Font("Arial", Font.BOLD, 15)); g2d.drawString("You cannot move,", cardButton.getX(), cardButton.getY() + 15); g2d.drawString("you're paralyzed!", cardButton.getX(), cardButton.getY() + 2 * 15 + 10); } else if (turn == 1 && drawParalyzed) { Font messageFont = new Font("Arial", Font.BOLD, 15); g2d.setFont(messageFont); text = enemy.getName() + " cannot move, they're paralyzed!"; ArrayList<String> lines = new ArrayList<>(); int width = (int) (messageFont.getStringBounds(text, g2d.getFontRenderContext()).getWidth()); if (width > cardButton.getWidth() * 2 + 40) { String[] split = text.split("\\s+"); int tempWidth = 0; int maxWidth = 0; String line = ""; for (i = 0; i < split.length; i++) { tempWidth += (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); if (tempWidth > cardButton.getWidth() * 2 + 40) { tempWidth = (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); lines.add(line); line = split[i] + " "; } else { line = line + split[i] + " "; } if (tempWidth > maxWidth) { maxWidth = tempWidth; } } lines.add(line); } else { lines.add(text); } for (i = 0; i < lines.size(); i++) { g2d.drawString(lines.get(i), cardButton.getX(), cardButton.getY() + 15 + 30 * i); } } else if (turn == 0 && turnState == 4) { g2d.setFont(new Font("Arial", Font.BOLD, 15)); g2d.drawString("You try to", cardButton.getX(), cardButton.getY() + 15); g2d.drawString("run away...", cardButton.getX(), cardButton.getY() + 2 * 15 + 10); } else if (turn == 0 && turnState == 5) { Font messageFont = new Font("Arial", Font.BOLD, 15); g2d.setFont(messageFont); if (drawMoveApplication) { text = effectMessage; } else { text = "You have used " + playedCard.getName() + " on " + enemy.getName() + "!"; } ArrayList<String> lines = new ArrayList<>(); int width = (int) (messageFont.getStringBounds(text, g2d.getFontRenderContext()).getWidth()); if (width > cardButton.getWidth() * 2 + 40) { String[] split = text.split("\\s+"); int tempWidth = 0; int maxWidth = 0; String line = ""; for (i = 0; i < split.length; i++) { tempWidth += (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); if (tempWidth > cardButton.getWidth() * 2 + 40) { tempWidth = (int) (messageFont .getStringBounds(split[i] + "_", g2d.getFontRenderContext()) .getWidth()); lines.add(line); line = split[i] + " "; } else { line = line + split[i] + " "; } if (tempWidth > maxWidth) { maxWidth = tempWidth; } } lines.add(line); } else { lines.add(text); } for (i = 0; i < lines.size(); i++) { g2d.drawString(lines.get(i), cardButton.getX(), cardButton.getY() + 15 + 30 * i); } } else if (turn == 0) { drawActionBox(g2d); } else if (turn == 1) { drawEnemyMessage(g2d); } else if (turn == 2) { drawVictoryMessage(g2d); } else if (turn == 3) { drawLossMessage(g2d); } }
private void drawVictoryMessage(Graphics2D g2d) { Font messageFont = new Font("Arial", Font.BOLD, 30); g2d.setFont(messageFont); g2d.drawString("VICTORY!!!", cardButton.getX(), cardButton.getY() + 30); }