public class InfoMenu extends Screen
Modifier and Type | Field and Description |
---|---|
private static java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> |
credits
Entries in the credits box.
|
private static int |
CREDITS_HEIGHT
Height of the credits box.
|
private java.awt.geom.Rectangle2D |
currentBox
Bounds of the current version link.
|
private Animation |
example
Example animation that is shown in the example box.
|
private GameState |
game
The state for the current game.
|
private java.awt.geom.Rectangle2D |
githubBox
Bounds of the GitHub link.
|
private static double |
KEY_WIDTH
Width of a keyboard key frame.
|
private static int |
KEYS_HEIGHT
Height of the shortcuts box.
|
private java.awt.geom.Rectangle2D |
latestBox
Bounds of the latest version link.
|
private static int |
MAX_WIDTH
Maximum width used by the boxes.
|
private Screen |
prev
The screen to switch to after this screen is closed.
|
private static java.util.List<java.util.List<java.lang.String>> |
rules
Strings in the rules box.
|
private static java.lang.String |
version
The latest version of the program.
|
private static int |
VERSION_HEIGHT
Height of the version box.
|
BOTTOM_OFFSET, BOX_HEADER_HEIGHT, BOX_INSETS, BOX_SPACING, BOX_TEXT_OFFSET, SIDE_OFFSET, SPACING, TOP_MIDDLE_OFFSET, TOP_MIDDLE_TEXT_OFFSET, TOP_MIDDLE_WIDTH, TOP_OFFSET, TOP_SIDE_TRIANGLE, TOP_SPACE
Modifier | Constructor and Description |
---|---|
protected |
InfoMenu(ConvexMerger context,
GameState game,
Screen prev)
Constructs a new info menu with the given game context and state
and screen to return to.
|
Modifier and Type | Method and Description |
---|---|
private void |
drawKeyFrame(java.awt.Graphics2D g,
double x,
double y,
java.lang.String key)
Renders a keyboard key in a frame.
|
protected java.lang.String |
getLeftButtonText()
Gets the text for the bottom left button.
|
protected java.lang.String |
getRightButtonText()
Gets the text for the bottom right button.
|
protected void |
handleLeftButtonClick()
Handles the bottom left button being clicked.
|
void |
handleMouseRelease(java.awt.geom.Point2D loc,
int width,
int height)
Handles a mouse button release on this screen.
|
protected void |
handleRightButtonClick()
Handles the bottom right button being clicked.
|
protected boolean |
isLeftButtonEnabled()
Checks if the bottom left button is enabled.
|
protected boolean |
isRightButtonEnabled()
Checks if the bottom right button is enabled.
|
protected void |
render(java.awt.Graphics2D g,
int width,
int height,
java.awt.geom.Point2D mouseLoc)
Renders the content of this screen with the given graphics.
|
private void |
renderCredits(java.awt.Graphics2D g,
java.awt.Paint gradient,
double x,
double y,
double w,
double h)
Renders the credits box.
|
private void |
renderExample(java.awt.Graphics2D g,
java.awt.Paint gradient,
double x,
double y,
double w,
double h)
Renders the example box.
|
private void |
renderKeys(java.awt.Graphics2D g,
java.awt.Paint gradient,
double x,
double y,
double w,
double h)
Renders the shortcuts box.
|
private void |
renderRules(java.awt.Graphics2D g,
java.awt.Paint gradient,
double x,
double y,
double w,
double h)
Renders the rules box.
|
private void |
renderVersion(java.awt.Graphics2D g,
java.awt.Paint gradient,
double x,
double y,
double w,
double h,
java.awt.geom.Point2D mouseLoc)
Renders the version box.
|
computeBox, drawBox, drawButton, drawTitle, drawTitledBox, fillText, getContext, getMaxWidth, handleKeyPressed, handleKeyReleased, handleMouseDrag, handleMouseMove, handleMousePress, render, renderMainInterface, renderMenuTitle, switchScene
private static final int MAX_WIDTH
private static final java.util.List<java.util.List<java.lang.String>> rules
private static final java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> credits
private static final int VERSION_HEIGHT
private static final int CREDITS_HEIGHT
private static final int KEYS_HEIGHT
private static final double KEY_WIDTH
private static volatile java.lang.String version
private Animation example
private GameState game
private Screen prev
private java.awt.geom.Rectangle2D currentBox
private java.awt.geom.Rectangle2D latestBox
private java.awt.geom.Rectangle2D githubBox
protected InfoMenu(ConvexMerger context, GameState game, Screen prev)
context
- The game context.game
- The game state, possibly null
.prev
- The screen to switch to when this screen is closed.protected void render(java.awt.Graphics2D g, int width, int height, java.awt.geom.Point2D mouseLoc)
Screen
private void renderKeys(java.awt.Graphics2D g, java.awt.Paint gradient, double x, double y, double w, double h)
g
- The graphics context to use.gradient
- The paint to use to draw the gradient of the box.x
- The x position to render the box at.y
- The y position to render the box at.w
- The width of the box to render.h
- The height of the box to render.private void drawKeyFrame(java.awt.Graphics2D g, double x, double y, java.lang.String key)
g
- The graphics context to use.x
- The x position to render the frame at.y
- The y position to render the frame at.key
- The key to put in the box.private void renderVersion(java.awt.Graphics2D g, java.awt.Paint gradient, double x, double y, double w, double h, java.awt.geom.Point2D mouseLoc)
g
- The graphics context to use.gradient
- The paint to use to draw the gradient of the box.x
- The x position to render the box at.y
- The y position to render the box at.w
- The width of the box to render.h
- The height of the box to render.mouseLoc
- The current cursor location.private void renderCredits(java.awt.Graphics2D g, java.awt.Paint gradient, double x, double y, double w, double h)
g
- The graphics context to use.gradient
- The paint to use to draw the gradient of the box.x
- The x position to render the box at.y
- The y position to render the box at.w
- The width of the box to render.h
- The height of the box to render.private void renderRules(java.awt.Graphics2D g, java.awt.Paint gradient, double x, double y, double w, double h)
g
- The graphics context to use.gradient
- The paint to use to draw the gradient of the box.x
- The x position to render the box at.y
- The y position to render the box at.w
- The width of the box to render.h
- The height of the box to render.private void renderExample(java.awt.Graphics2D g, java.awt.Paint gradient, double x, double y, double w, double h)
g
- The graphics context to use.gradient
- The paint to use to draw the gradient of the box.x
- The x position to render the box at.y
- The y position to render the box at.w
- The width of the box to render.h
- The height of the box to render.public void handleMouseRelease(java.awt.geom.Point2D loc, int width, int height)
Screen
handleMouseRelease
in class Screen
loc
- The location that was clicked.width
- The width of the screen.height
- The height of the screen.protected boolean isLeftButtonEnabled()
Screen
isLeftButtonEnabled
in class Screen
protected boolean isRightButtonEnabled()
Screen
isRightButtonEnabled
in class Screen
protected java.lang.String getLeftButtonText()
Screen
getLeftButtonText
in class Screen
protected java.lang.String getRightButtonText()
Screen
getRightButtonText
in class Screen
protected void handleLeftButtonClick()
Screen
handleLeftButtonClick
in class Screen
protected void handleRightButtonClick()
Screen
handleRightButtonClick
in class Screen