Added fade effects for tooltips.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
@@ -173,27 +173,25 @@ public class ButtonMenu extends BasicGameState {
|
||||
}
|
||||
|
||||
// buttons
|
||||
Input input = container.getInput();
|
||||
int mouseX = input.getMouseX(), mouseY = input.getMouseY();
|
||||
GameMod hoverMod = null;
|
||||
for (GameMod mod : GameMod.values()) {
|
||||
for (GameMod mod : GameMod.values())
|
||||
mod.draw();
|
||||
if (hoverMod == null && mod.contains(mouseX, mouseY))
|
||||
hoverMod = mod;
|
||||
}
|
||||
|
||||
super.draw(container, game, g);
|
||||
|
||||
// tooltips
|
||||
if (hoverMod != null && hoverMod.isImplemented())
|
||||
UI.drawTooltip(g, hoverMod.getDescription(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(GameContainer container, int delta, int mouseX, int mouseY) {
|
||||
super.update(container, delta, mouseX, mouseY);
|
||||
for (GameMod mod : GameMod.values())
|
||||
GameMod hoverMod = null;
|
||||
for (GameMod mod : GameMod.values()) {
|
||||
mod.hoverUpdate(delta, mod.isActive());
|
||||
if (hoverMod == null && mod.contains(mouseX, mouseY))
|
||||
hoverMod = mod;
|
||||
}
|
||||
|
||||
// tooltips
|
||||
if (hoverMod != null && hoverMod.isImplemented())
|
||||
UI.updateTooltip(delta, hoverMod.getDescription(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -248,7 +248,6 @@ public class MainMenu extends BasicGameState {
|
||||
repoButton.draw();
|
||||
|
||||
// draw update button
|
||||
boolean showUpdateButton = Updater.get().showButton();
|
||||
if (Updater.get().showButton()) {
|
||||
Color updateColor = null;
|
||||
switch (Updater.get().getStatus()) {
|
||||
@@ -294,18 +293,6 @@ public class MainMenu extends BasicGameState {
|
||||
marginX, height - marginY - lineHeight);
|
||||
|
||||
UI.draw(g);
|
||||
|
||||
// tooltips
|
||||
if (musicPositionBarContains(mouseX, mouseY))
|
||||
UI.drawTooltip(g, "Click to seek to a specific point in the song.", false);
|
||||
else if (musicPlay.contains(mouseX, mouseY))
|
||||
UI.drawTooltip(g, (MusicController.isPlaying()) ? "Pause" : "Play", false);
|
||||
else if (musicNext.contains(mouseX, mouseY))
|
||||
UI.drawTooltip(g, "Next track", false);
|
||||
else if (musicPrevious.contains(mouseX, mouseY))
|
||||
UI.drawTooltip(g, "Previous track", false);
|
||||
else if (showUpdateButton && updateButton.contains(mouseX, mouseY))
|
||||
UI.drawTooltip(g, Updater.get().getStatus().getDescription(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -323,14 +310,13 @@ public class MainMenu extends BasicGameState {
|
||||
updateButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
downloadsButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
// ensure only one button is in hover state at once
|
||||
if (musicPositionBarContains(mouseX, mouseY))
|
||||
mouseX = mouseY = -1;
|
||||
musicPlay.hoverUpdate(delta, mouseX, mouseY);
|
||||
musicPause.hoverUpdate(delta, mouseX, mouseY);
|
||||
if (musicPlay.contains(mouseX, mouseY))
|
||||
mouseX = mouseY = -1;
|
||||
musicNext.hoverUpdate(delta, mouseX, mouseY);
|
||||
musicPrevious.hoverUpdate(delta, mouseX, mouseY);
|
||||
boolean noHoverUpdate = musicPositionBarContains(mouseX, mouseY);
|
||||
boolean contains = musicPlay.contains(mouseX, mouseY);
|
||||
musicPlay.hoverUpdate(delta, !noHoverUpdate && contains);
|
||||
musicPause.hoverUpdate(delta, !noHoverUpdate && contains);
|
||||
noHoverUpdate |= contains;
|
||||
musicNext.hoverUpdate(delta, !noHoverUpdate && musicNext.contains(mouseX, mouseY));
|
||||
musicPrevious.hoverUpdate(delta, !noHoverUpdate && musicPrevious.contains(mouseX, mouseY));
|
||||
|
||||
// window focus change: increase/decrease theme song volume
|
||||
if (MusicController.isThemePlaying() &&
|
||||
@@ -379,6 +365,18 @@ public class MainMenu extends BasicGameState {
|
||||
logo.setX(container.getWidth() / 2);
|
||||
}
|
||||
}
|
||||
|
||||
// tooltips
|
||||
if (musicPositionBarContains(mouseX, mouseY))
|
||||
UI.updateTooltip(delta, "Click to seek to a specific point in the song.", false);
|
||||
else if (musicPlay.contains(mouseX, mouseY))
|
||||
UI.updateTooltip(delta, (MusicController.isPlaying()) ? "Pause" : "Play", false);
|
||||
else if (musicNext.contains(mouseX, mouseY))
|
||||
UI.updateTooltip(delta, "Next track", false);
|
||||
else if (musicPrevious.contains(mouseX, mouseY))
|
||||
UI.updateTooltip(delta, "Previous track", false);
|
||||
else if (Updater.get().showButton() && updateButton.contains(mouseX, mouseY))
|
||||
UI.updateTooltip(delta, Updater.get().getStatus().getDescription(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -353,17 +353,13 @@ public class SongMenu extends BasicGameState {
|
||||
}
|
||||
|
||||
// score buttons
|
||||
ScoreData hoverScore = null;
|
||||
if (focusScores != null) {
|
||||
for (int i = 0; i < MAX_SCORE_BUTTONS; i++) {
|
||||
int rank = startScore + i;
|
||||
if (rank >= focusScores.length)
|
||||
break;
|
||||
long prevScore = (rank + 1 < focusScores.length) ? focusScores[rank + 1].score : -1;
|
||||
boolean contains = ScoreData.buttonContains(mouseX, mouseY, i);
|
||||
focusScores[rank].draw(g, i, rank, prevScore, contains);
|
||||
if (contains)
|
||||
hoverScore = focusScores[rank];
|
||||
focusScores[rank].draw(g, i, rank, prevScore, ScoreData.buttonContains(mouseX, mouseY, i));
|
||||
}
|
||||
|
||||
// scroll bar
|
||||
@@ -459,10 +455,6 @@ public class SongMenu extends BasicGameState {
|
||||
UI.getBackButton().draw();
|
||||
|
||||
UI.draw(g);
|
||||
|
||||
// tooltips
|
||||
if (hoverScore != null)
|
||||
hoverScore.drawTooltip(g);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -575,6 +567,20 @@ public class SongMenu extends BasicGameState {
|
||||
if (!isHover) {
|
||||
hoverOffset = 0f;
|
||||
hoverIndex = -1;
|
||||
} else
|
||||
return;
|
||||
|
||||
// tooltips
|
||||
if (focusScores != null) {
|
||||
for (int i = 0; i < MAX_SCORE_BUTTONS; i++) {
|
||||
int rank = startScore + i;
|
||||
if (rank >= focusScores.length)
|
||||
break;
|
||||
if (ScoreData.buttonContains(mouseX, mouseY, i)) {
|
||||
UI.updateTooltip(delta, focusScores[rank].getTooltipString(), true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user