Save game support
[tabakrolletjie.git] / tabakrolletjie / gamestate.py
index 6f6725b8e0bda36ef5a031946306194d0496b0e2..afe842dde40a2d01ba696c6ccf2e487ba6697751 100644 (file)
@@ -55,3 +55,24 @@ class GameState(object):
 
     def update_lights(self, lights):
         self._state["station"]["lights"] = lights.serialize_lights()
+
+    def serialize(self):
+        result = {
+            "station": self._state["station"],
+            "turnips": self._state["turnips"],
+            "seeds": self._state['seeds'],
+            "harvested": self.harvested,
+            "eaten": self.eaten,
+            "days": self.days,
+            "resistances": self.resistances,
+        }
+        return result
+
+    def load_from_json(self, json_data):
+        self._state["station"] = dict(**json_data["station"])
+        self._state["turnips"] = json_data["turnips"]
+        self._state["seeds"] = json_data["seeds"]
+        self.harvested = json_data["harvested"]
+        self.eaten = json_data["harvested"]
+        self.days = json_data["days"]
+        self.resistances = dict(**json_data["resistances"])