loading SAVES!
This commit is contained in:
@@ -14,6 +14,10 @@ class App:
|
||||
return
|
||||
screens.house(self.save)
|
||||
|
||||
def enter_save(self, save):
|
||||
self.save = save
|
||||
self.game()
|
||||
|
||||
def run(self):
|
||||
# Intro
|
||||
if not self.debug:
|
||||
@@ -24,7 +28,8 @@ class App:
|
||||
# Main Menu
|
||||
while True: # forEVER!... forEVER!... forEVER!... forEVER!...
|
||||
match ui.select(
|
||||
f"Welcome to {content.GAME_NAME}!", ["New Game", "Credits", "Exit"]
|
||||
f"Welcome to {content.GAME_NAME}!",
|
||||
["New Game", "Load Game", "Credits", "Exit"],
|
||||
):
|
||||
case "Exit": # :(
|
||||
print("bye.")
|
||||
@@ -48,5 +53,23 @@ class App:
|
||||
print("Saving...")
|
||||
persistence.save(save)
|
||||
print("Save complete.")
|
||||
self.save = save
|
||||
self.game()
|
||||
self.enter_save(save)
|
||||
case "Load Game":
|
||||
saves = persistence.list_saves()
|
||||
if not saves:
|
||||
print("You have no savefiles available to load.")
|
||||
continue
|
||||
save_name = ui.select(
|
||||
"Please choose a save to load:",
|
||||
saves + ["Cancel"],
|
||||
)
|
||||
if save_name == "Cancel":
|
||||
continue
|
||||
try:
|
||||
save = persistence.load(save_name)
|
||||
except persistence.json.JSONDecodeError:
|
||||
print(
|
||||
"There was an error loading your savefile, it may be corrupt :("
|
||||
)
|
||||
continue
|
||||
self.enter_save(save)
|
||||
|
||||
@@ -30,3 +30,8 @@ def load(name, folder=None):
|
||||
save = model.Save.from_dict(data)
|
||||
|
||||
return save
|
||||
|
||||
|
||||
def list_saves(folder=None):
|
||||
folder = folder or SAVE_FOLDER
|
||||
return [save.stem for save in folder.glob("*.kitten")]
|
||||
|
||||
Reference in New Issue
Block a user