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):
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'),
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())
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':