Skip to content
Snippets Groups Projects
Commit b5eb02f8 authored by Drahomír Karchňák's avatar Drahomír Karchňák
Browse files

#116 Fixed playing of rule message sound

parent 792d24cb
No related branches found
No related tags found
No related merge requests found
......@@ -48,6 +48,7 @@ import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
import cz.nic.tablexia.loader.application.ApplicationFontManager;
import cz.nic.tablexia.loader.application.ApplicationTextManager;
import cz.nic.tablexia.model.game.Game;
import cz.nic.tablexia.util.MusicUtil;
import cz.nic.tablexia.util.ScaleUtil;
import cz.nic.tablexia.util.ui.AnimatedImage;
import cz.nic.tablexia.util.ui.ClickListenerWithSound;
......@@ -61,6 +62,8 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
private static final float RULE_MESSAGE_PAPER_WIDTH = 0.6f;
private static final float RULE_MESSAGE_TEXT_PADDING = 0.07f;
private static final float RULE_SOUND_DELAY = 1.0f;
private static final float RULE_SOUND_FADE_OUT_TIME = 0.5f;
private static final float RULE_MESSAGE_FADE_OUT_TIME = 0.5f;
private static final float HELP_OVERLAY_FADE_IN_TIME = 0.5f;
private static final float MAP_FADE_IN_TIME = 0.5f;
......@@ -146,6 +149,7 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
super.onClick(event, x, y);
ruleMessage.addAction(new SequenceAction(Actions.fadeOut(RULE_MESSAGE_FADE_OUT_TIME), Actions.visible(false)));
stopRuleSound(RULE_SOUND_FADE_OUT_TIME);
map.addAction(Actions.sequence(Actions.delay(RULE_MESSAGE_FADE_OUT_TIME + GAME_DELAY),
Actions.run(new Runnable() {
......@@ -196,11 +200,27 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
ruleMessageShown = true;
}
private void playRuleSound(float delay) {
addAction(new SequenceAction(Actions.delay(delay), Actions.run(new Runnable() {
@Override
public void run() {
getRuleSound().play();
}
})));
}
private void stopRuleSound(float fadeoutTime) {
if(getRuleSound().isPlaying()) {
MusicUtil.fadeOut(getRuleSound(), fadeoutTime);
}
}
@Override
protected void gameVisible() {
// center first tile and start game
if(!ruleMessageShown) {
showRuleMessage();
playRuleSound(RULE_SOUND_DELAY);
}
else {
map.addAction(Actions.sequence(Actions.delay(RULE_MESSAGE_FADE_OUT_TIME + GAME_DELAY),
......@@ -314,8 +334,8 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
return sfxLibrary;
}
public String getRuleSound() {
return Properties.GAMERULE_HELP_SOUNDS[getGameDifficulty().ordinal()];
private Music getRuleSound() {
return getMusic(Properties.GAMERULE_HELP_SOUNDS[getGameDifficulty().getDifficultyNumber() - 1]);
}
@Override
......
......@@ -21,6 +21,8 @@ public class Properties {
private static final int[] GAMERULES_CUPS_HARD = GAMERULES_CUPS_MEDIUM;
public static final int[][] GAMERULE_CUPS = {GAMERULES_CUPS_EASY, GAMERULES_CUPS_MEDIUM, GAMERULES_CUPS_HARD};
public static final String LOADING_SOUND = "mfx/help/loading.mp3";
static final String[] GAMERULE_HELP_SOUNDS = new String[]{"mfx/help/rulehelp_easy.mp3", "mfx/help/rulehelp_medium.mp3", "mfx/help/rulehelp_hard.mp3"};
static final String[] RESULT_SOUNDS = new String[]{"mfx/result/result_0.mp3", "mfx/result/result_1.mp3", "mfx/result/result_2.mp3", "mfx/result/result_3.mp3"};
static final String[] RESULT_TEXT = new String[]{"game_kidnapping_result_0", "game_kidnapping_result_1", "game_kidnapping_result_2", "game_kidnapping_result_3"};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment