loading SAVES!
This commit is contained in:
@@ -14,6 +14,10 @@ class App:
|
|||||||
return
|
return
|
||||||
screens.house(self.save)
|
screens.house(self.save)
|
||||||
|
|
||||||
|
def enter_save(self, save):
|
||||||
|
self.save = save
|
||||||
|
self.game()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
# Intro
|
# Intro
|
||||||
if not self.debug:
|
if not self.debug:
|
||||||
@@ -24,7 +28,8 @@ class App:
|
|||||||
# Main Menu
|
# Main Menu
|
||||||
while True: # forEVER!... forEVER!... forEVER!... forEVER!...
|
while True: # forEVER!... forEVER!... forEVER!... forEVER!...
|
||||||
match ui.select(
|
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": # :(
|
case "Exit": # :(
|
||||||
print("bye.")
|
print("bye.")
|
||||||
@@ -48,5 +53,23 @@ class App:
|
|||||||
print("Saving...")
|
print("Saving...")
|
||||||
persistence.save(save)
|
persistence.save(save)
|
||||||
print("Save complete.")
|
print("Save complete.")
|
||||||
self.save = save
|
self.enter_save(save)
|
||||||
self.game()
|
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)
|
save = model.Save.from_dict(data)
|
||||||
|
|
||||||
return save
|
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