diff --git a/android/assets/text/application/application_cs.properties b/android/assets/text/application/application_cs.properties index 484479f8a7866ecdadabcc514717661430079d9f..c26d90ab666f00c229bb0178189dcce9db5cc1f0 100644 --- a/android/assets/text/application/application_cs.properties +++ b/android/assets/text/application/application_cs.properties @@ -59,7 +59,8 @@ game_averagescore_error=PrĹŻmÄ›rnĂ˝ poÄŤet chyb: game_averagescore_duration=PrĹŻmÄ›rnĂ© trvánĂ hry: game_quit_question=Opravdu chceš ukonÄŤit hru? -sound_muted_question=Pro pokraÄŤovánĂ ve hĹ™e je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat? +sound_muted_question=Pro pokraÄŤovánĂ je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat? +sound_muted_game_question=Pro pokraÄŤovánĂ ve hĹ™e je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat? game_robbery_title=LupiÄŤi game_robbery_description=ProcviÄŤovánĂ pracovnĂ pamÄ›ti diff --git a/android/assets/text/application/application_de.properties b/android/assets/text/application/application_de.properties index bd63dbf6e6e2f6ef95a5eb1e27e6abb7fb942780..701c70f11a75dc33165dc71da1d9651895b2a237 100644 --- a/android/assets/text/application/application_de.properties +++ b/android/assets/text/application/application_de.properties @@ -59,7 +59,8 @@ game_averagescore_error=Durchschnittliche Fehlerzahl: game_averagescore_duration=Durchschnittliche Spieldauer: game_quit_question=Möchtest du wirklich das Spiel beenden? -sound_muted_question=[DE] Pro pokraÄŤovánĂ je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat ? +sound_muted_question=[DE]Pro pokraÄŤovánĂ je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat?[DE] +sound_muted_game_question=[DE]Pro pokraÄŤovánĂ ve hĹ™e je zapotĹ™ebĂ mĂt zapnutĂ˝ zvuk. PĹ™eješ si nynĂ zvuk zapnout a pokraÄŤovat?[DE] game_robbery_title=Einbrecher game_robbery_description=Training des Arbeitsgedächtnisses diff --git a/android/assets/text/application/application_sk.properties b/android/assets/text/application/application_sk.properties index 97e53e4c3d4a9bf81f6d69b68dbc4e39b4f8aaa4..dbc40277e57cbcceda6cfb4c4f027503b01e6f07 100644 --- a/android/assets/text/application/application_sk.properties +++ b/android/assets/text/application/application_sk.properties @@ -61,7 +61,8 @@ game_averagescore_error=PriemernĂ˝ poÄŤet chĂ˝b: game_averagescore_duration=PriemernĂ© trvanie hry\: game_quit_question=Naozaj chceš ukonÄŤiĹĄ hru? -sound_muted_question=[SK] Pre pokraÄŤovanie v hre je potrebnĂ© maĹĄ zapnutĂ˝ zvuk. Chceš si zvuk teraz zapnúť a pokraÄŤovaĹĄ? +sound_muted_question=Pre pokraÄŤovanie je potrebnĂ© maĹĄ zapnutĂ˝ zvuk. Chceš si zvuk teraz zapnúť a pokraÄŤovaĹĄ? +sound_muted_game_question=Pre pokraÄŤovanie v hre je potrebnĂ© maĹĄ zapnutĂ˝ zvuk. Chceš si zvuk teraz zapnúť a pokraÄŤovaĹĄ? game_robbery_title=LupiÄŤi game_robbery_description=PrecviÄŤovanie pracovnej pamäti diff --git a/core/src/cz/nic/tablexia/TablexiaApplication.java b/core/src/cz/nic/tablexia/TablexiaApplication.java index 1308dec662b46b637a45d3a5cf68182183de7ef9..d231ff664de4726ea3ec05c930c01471549d2d5a 100644 --- a/core/src/cz/nic/tablexia/TablexiaApplication.java +++ b/core/src/cz/nic/tablexia/TablexiaApplication.java @@ -633,28 +633,31 @@ public abstract class TablexiaApplication implements ApplicationListener { } }; - if(newScreen.isSoundMandatory() && TablexiaSettings.getInstance().isSoundMuted()) - showSoundMutedDialog(newScreenAction); - else - performNewScreenAction(newScreenAction); + performNewScreenAction(newScreen, newScreenAction); } - private void performNewScreenAction(final Runnable newScreenAction) { - if (screen.hasQuitConfirmDialog()) { + private void performNewScreenAction(final AbstractTablexiaScreen<?> newScreen, final Runnable newScreenAction) { + if(newScreen.isSoundMandatory() && TablexiaSettings.getInstance().isSoundMuted()) { + showSoundMutedDialog(newScreen, newScreenAction); + } + else if(screen.hasQuitConfirmDialog()){ showQuitConfirmDialog(newScreenAction); - } else { + } + else { newScreenAction.run(); } } - private void showSoundMutedDialog(final Runnable newScreenAction) { + private void showSoundMutedDialog(final AbstractTablexiaScreen<?> newScreen, final Runnable newScreenAction) { TablexiaComponentDialogFactory.getInstance().createWarningYesNoDialog( - ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.SOUND_MUTED_QUESTION), + ApplicationTextManager.getInstance().getText(newScreen.prepareSoundMutedQuestion()), new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { TablexiaSettings.getInstance().toggleSoundMute(); - performNewScreenAction(newScreenAction); + + if(screen.hasQuitConfirmDialog()) showQuitConfirmDialog(newScreenAction); + else newScreenAction.run(); } }, true diff --git a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java index da3b74b7136a707e9d264d878b4c5dd7f1aa140f..6c66f154b30fb448c8f95b2ee2aa18212786c26e 100644 --- a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java +++ b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java @@ -377,6 +377,11 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T> return "game/" + screenName + "/"; } + @Override + public String prepareSoundMutedQuestion() { + return ApplicationTextManager.ApplicationTextsAssets.SOUND_MUTED_GAME_QUESTION; + } + @Override public void setScreenViewCount(long userId, String screenName, long time) { } diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java index 2a6099a280c9fd943434f3588dac808d08568376..7f24fd42f641703949b2a2c7046e18ed351a586c 100644 --- a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java +++ b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java @@ -92,6 +92,7 @@ public class ApplicationTextManager extends TablexiaDataManager<I18NBundle> impl public static final String GAME_QUIT_QUESTION = "game_quit_question"; public static final String SOUND_MUTED_QUESTION = "sound_muted_question"; + public static final String SOUND_MUTED_GAME_QUESTION = "sound_muted_game_question"; public static final String SYNC_REQUEST_DIALOG_TEXT = "sync_request_dialog_text"; public static final String SYNC_REQUEST_BUTTON = "sync_request_button"; diff --git a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java index a51860fc8807e54f6ee95b21e9cbee115f3622ae..a693908e93ab12815aaf8a4a96e9d2cb9b333f05 100644 --- a/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java +++ b/core/src/cz/nic/tablexia/screen/AbstractTablexiaScreen.java @@ -44,6 +44,7 @@ import cz.nic.tablexia.loader.TablexiaAtlasManager; import cz.nic.tablexia.loader.TablexiaDataManager; import cz.nic.tablexia.loader.TablexiaSoundManager; import cz.nic.tablexia.loader.application.ApplicationAtlasManager; +import cz.nic.tablexia.loader.application.ApplicationTextManager; import cz.nic.tablexia.model.UserDAO; import cz.nic.tablexia.model.screen.ScreenDAO; import cz.nic.tablexia.shared.model.User; @@ -398,6 +399,10 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter { return false; } + public String prepareSoundMutedQuestion() { + return ApplicationTextManager.ApplicationTextsAssets.SOUND_MUTED_QUESTION; + } + //////////////////////////// LOADING LISTENER private void notifyLoadingCompleteListeners() { @@ -564,7 +569,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter { } private void playIntroMusic() { - if (introMusic != null) { + if (introMusic != null && !TablexiaSettings.getInstance().isSoundMuted()) { introMusic.play(); } } diff --git a/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java b/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java index 42d07c1fdedc2843c300bf805ac885ee9bba2611..93a17523c18b0eed6c5ddf2ff96c0f0b3265f412 100644 --- a/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java +++ b/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java @@ -9,12 +9,14 @@ import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.JsonValue; import cz.nic.tablexia.TablexiaSettings; +import cz.nic.tablexia.loader.application.ApplicationTextManager; import cz.nic.tablexia.screen.AbstractTablexiaScreen; import cz.nic.tablexia.screen.encyclopedia.EncyclopediaFont; import cz.nic.tablexia.screen.encyclopedia.EncyclopediaScreen; import cz.nic.tablexia.screen.encyclopedia.assets.EncyclopediaAssets; import cz.nic.tablexia.util.ui.TablexiaLabel; import cz.nic.tablexia.util.ui.button.ImageTablexiaButton; +import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory; /** * Created by Václav TarantĂk on 23.9.15. @@ -67,15 +69,25 @@ public class Header extends Content { button.setInputListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { - if (button.isChecked()) { - button.text(screen.getText(EncyclopediaAssets.PAUSE)); - button.setIcon(encyclopediaScreen.getPauseIcon()); - encyclopediaScreen.playMusic(soundResource, button); - } else { - button.text(screen.getText(EncyclopediaAssets.PLAY)); - button.setIcon(encyclopediaScreen.getPlayIcon()); - encyclopediaScreen.togglePlaying(); - } + Runnable playButtonAction = new Runnable() { + @Override + public void run() { + if (button.isChecked()) { + button.text(screen.getText(EncyclopediaAssets.PAUSE)); + button.setIcon(encyclopediaScreen.getPauseIcon()); + encyclopediaScreen.playMusic(soundResource, button); + } else { + button.text(screen.getText(EncyclopediaAssets.PLAY)); + button.setIcon(encyclopediaScreen.getPlayIcon()); + encyclopediaScreen.togglePlaying(); + } + } + }; + + if(TablexiaSettings.getInstance().isSoundMuted()) + showSoundMutedDialog(playButtonAction); + else + playButtonAction.run(); } }); headerTable.add(headerLabel).maxWidth(parentContainerWidth - BUTTON_WIDTH - PAD_RIGHT).fillX().expandX().left(); @@ -86,6 +98,20 @@ public class Header extends Content { return headerTable; } + private void showSoundMutedDialog(final Runnable onSuccessCallback) { + TablexiaComponentDialogFactory.getInstance().createWarningYesNoDialog( + ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.SOUND_MUTED_QUESTION), + new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + TablexiaSettings.getInstance().toggleSoundMute(); + onSuccessCallback.run(); + } + }, + true + ).show(TablexiaComponentDialogFactory.WARNING_DIALOG_WIDTH, TablexiaComponentDialogFactory.WARNING_DIALOG_HEIGHT); + } + @Override public Cell addToCell(Table contentTable, AbstractTablexiaScreen screen, float parentContainerWidth) { return contentTable.add(render(screen, parentContainerWidth)).expandX().fillX().padBottom(PAD_BOTTOM).padTop(PAD_TOP).left(); diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java index 116a0143dc6a94f9547f08505307c543a920ebc8..f1492b3e0f83584441efe53a9a4d0fe7b6e68d60 100644 --- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java +++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java @@ -31,7 +31,6 @@ import cz.nic.tablexia.util.Utility; /** * Created by lhoracek - * Edited by Drahomir Karchnak on 2/12/15 */ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {