package vooga.rts.gui.menus.gamesubmenus; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.util.Map.Entry; import java.util.Observable; import util.Location; import vooga.rts.gui.Window; import vooga.rts.manager.IndividualResourceManager; public class ResourcesMenu extends SubMenu { private IndividualResourceManager myResources; public ResourcesMenu (IndividualResourceManager irm, String image, Dimension size, Location pos) { super(image, size, pos); myResources = irm; } @Override public void processClick (int x, int y) { // TODO Auto-generated method stub } @Override public void processHover (int x, int y) { // TODO Auto-generated method stub } @Override public void update (Observable o, Object arg) { // TODO Auto-generated method stub } @Override public void paint (Graphics2D pen) { pen.setColor(Color.WHITE); pen.setFont(new Font("Arial", Font.PLAIN, 16)); FontMetrics metrics = pen.getFontMetrics(); int x = (int)getLocation().getX(); for (Entry<String, Integer> resource: myResources.getResources().entrySet()) { String value = toSentenceCase(resource.getKey()) + ": " + resource.getValue(); pen.drawString(value, x, (int)getLocation().getY()); x += metrics.stringWidth(value) + 25; } pen.setColor(Color.BLACK); } private String toSentenceCase(String str) { StringBuilder sb = new StringBuilder(); sb.append(str.toUpperCase().charAt(0)); sb.append(str.toLowerCase().substring(1)); return sb.toString(); } }