Source code: org/zazof/jteg/gui/PlaceArmiesVisualizer.java
1 package org.zazof.jteg.gui;
2
3 import java.awt.*;
4 import java.awt.image.*;
5 import org.zazof.jteg.*;
6
7 /**
8 * This class is responsible for visualizing the placing of the armies to assist the user in this proces.
9 *
10 * @author Yves Vandewoude
11 * @date Januari 2002
12 */
13
14
15 public class PlaceArmiesVisualizer implements InformationVisualizer
16 {
17
18 public PlaceArmiesVisualizer(PlaceArmiesMouseInput pam)
19 {
20 $pam = pam;
21 $upperLeftX = GameController.getInstance().getBoardModel().getXArmiesCoordinate();
22 $upperLeftY = GameController.getInstance().getBoardModel().getYArmiesCoordinate();
23 }
24
25
26 /**
27 * Method for implementing the InformationVisualizer Interface
28 *
29 * Draws the informationscreen on the boardcanvas to assist the user in placing armies
30 *
31 * @param graphics The Graphics2D object on which the screen will be drawn
32 */
33
34 public void draw(Graphics2D graphics)
35 {
36 // We only draw while placing armies
37
38 if (JTEGStateMachine.getInstance().getCurrentState() == JTEGStateMachine.PLACING_ARMIES)
39 {
40 if (DEBUG) System.out.println("PlaceArmiesVisualizer: drawing!");
41 graphics.setColor(Color.lightGray);
42 graphics.fillRect($upperLeftX, $upperLeftY, $width, $height);
43 graphics.setColor(Color.red);
44 graphics.drawString("Total: ", $upperLeftX + 5, $upperLeftY + 12);
45 graphics.drawString("" + $pam.getTotalArmiesLeft(), $upperLeftX + 80, $upperLeftY + 12);
46 graphics.setColor(Color.black);
47 graphics.drawRect($upperLeftX, $upperLeftY, $width, $height);
48 graphics.drawString(LanguageManager.getInstance().lookup("namerica"), $upperLeftX + 5, $upperLeftY + 24);
49 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.NORTH_AMERICA), $upperLeftX + 80, $upperLeftY + 24);
50
51 graphics.drawString(LanguageManager.getInstance().lookup("samerica"), $upperLeftX + 5, $upperLeftY + 36);
52 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.SOUTH_AMERICA), $upperLeftX + 80, $upperLeftY + 36);
53
54 graphics.drawString(LanguageManager.getInstance().lookup("africa"), $upperLeftX + 5, $upperLeftY + 48);
55 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.AFRICA), $upperLeftX + 80, $upperLeftY + 48);
56
57 graphics.drawString(LanguageManager.getInstance().lookup("oceania"), $upperLeftX + 5, $upperLeftY + 60);
58 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.OCEANIA), $upperLeftX + 80, $upperLeftY + 60);
59
60 graphics.drawString(LanguageManager.getInstance().lookup("europe"), $upperLeftX + 5, $upperLeftY + 72);
61 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.EUROPE), $upperLeftX + 80, $upperLeftY + 72);
62
63 graphics.drawString(LanguageManager.getInstance().lookup("asia"), $upperLeftX + 5, $upperLeftY + 84);
64 graphics.drawString("" + $pam.getNbContinentalArmies(PlaceArmiesMouseInput.ASIA), $upperLeftX + 80, $upperLeftY + 84);
65
66 }
67 }
68
69 private int $upperLeftX;
70 private int $upperLeftY;
71 private int $width = 100;
72 private int $height = 95;
73 private PlaceArmiesMouseInput $pam;
74 private static final boolean DEBUG = false;
75 }