Add basic turnip life-cycle
[tabakrolletjie.git] / tabakrolletjie / scenes / night.py
index edaa15a6e3b2ba559565b96f6a6ee0db6c5c3194..1c4097a72d26837e6536b055e210ac80fb43b2cb 100644 (file)
@@ -10,6 +10,7 @@ from ..obstacles import ObstacleManager
 from ..enemies import Boyd
 from ..events import SceneChangeEvent
 from ..utils import debug_timer
+from ..turnip import Turnip
 
 
 class NightScene(BaseScene):
@@ -18,11 +19,18 @@ class NightScene(BaseScene):
         self._obstacles = ObstacleManager(self._space, gamestate)
         self._lights = LightManager(self._space, gamestate)
         self._mould = Boyd(gamestate, self._space)
+        self._turnips = []
+        for turnip_data in gamestate.turnips:
+            turnip = Turnip(**turnip_data)
+            self._turnips.append(turnip)
+
 
     @debug_timer("night.render")
     def render(self, surface, gamestate):
         surface.fill((0, 0, 155))
         self._mould.render(surface)
+        for turnip in self._turnips:
+            turnip.render(surface)
         self._lights.render_light(surface)
         self._obstacles.render(surface)
         self._lights.render_fittings(surface)
@@ -44,3 +52,7 @@ class NightScene(BaseScene):
     def tick(self, gamestate):
         self._mould.tick(gamestate, self._space, self._lights)
         self._lights.tick()
+
+    def exit(self, gamestate):
+        turnip_data = [turnip.serialize() for turnip in self._turnips]
+        gamestate.turnips = turnip_data