X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Fscenes%2Fmenu.py;h=89b531e2621d78f69ec75e7869fb880104c5e3b5;hb=503ee94a5c586cad2d9a79d140c15f25a8a1bac1;hp=7f671026b193bae591ec75a3cddc59d9ba36dde4;hpb=bf0cca2f391ed3e49b09933325b430c33cf59daf;p=tabakrolletjie.git diff --git a/tabakrolletjie/scenes/menu.py b/tabakrolletjie/scenes/menu.py index 7f67102..89b531e 100644 --- a/tabakrolletjie/scenes/menu.py +++ b/tabakrolletjie/scenes/menu.py @@ -7,6 +7,7 @@ from ..events import QuitEvent, SceneChangeEvent from ..loader import loader from ..constants import FONTS from ..widgets import TextButton, SpacerButton +from ..utils import save_file_exists, get_save_data class MenuScene(BaseScene): @@ -17,9 +18,13 @@ class MenuScene(BaseScene): font_title = loader.load_font(FONTS['bold'], size=32) self._title = font_title.render('A Game with a title', True, (255, 255, 255)) + self._cont_but = TextButton("Continue / Retry", (255, 255, 255), + name='continue') + if not save_file_exists(): + self._cont_but.disable() self._menu = [ TextButton("New Game", (255, 255, 255), name='new game'), - TextButton("Continue / Retry", (255, 255, 255), name='continue'), + self._cont_but, TextButton("Help", (255, 255, 255), name='help'), SpacerButton((50, 30)), TextButton("Quit", (255, 255, 255), name='quit'), @@ -45,11 +50,12 @@ class MenuScene(BaseScene): return button.name return None - def _do_day(self): + def _do_load_save(self, gamestate): + gamestate.load_from_json(get_save_data()) from .day import DayScene SceneChangeEvent.post(scene=DayScene()) - def _do_load_level(self): + def _start_new_game(self): from .load_level import LoadLevelScene SceneChangeEvent.post(scene=LoadLevelScene()) @@ -67,15 +73,15 @@ class MenuScene(BaseScene): elif ev.key == pgl.K_d: self._do_day() elif ev.key == pgl.K_l: - self._do_load_level() + self._start_new_game() elif ev.key == pgl.K_h: self._do_help() elif ev.type == pgl.MOUSEBUTTONDOWN: pressed = self._get_pressed(ev) if pressed == 'new game': - self._do_load_level() + self._start_new_game() elif pressed == 'continue': - self._do_day() + self._do_load_save(gamestate) elif pressed == 'help': self._do_help() elif pressed == 'quit':