Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/activity.py b/activity.py
index be85085..c689147 100644
--- a/activity.py
+++ b/activity.py
@@ -11,25 +11,26 @@ import sugargame.activity
import physics
import tools
-class PhysicsActivity(sugargame.activity.PygameActivity):
+class PhysicsActivity(activity.Activity):
def __init__(self, handle):
super(PhysicsActivity, self).__init__(handle)
self.metadata['mime_type'] = 'application/x-physics-activity'
-
- self._resume_path = None
+
+ self.game = physics.PhysicsGame()
self.build_toolbar()
self.build_canvas()
- self.game = physics.PhysicsGame(self.get_pygame_screen())
- if self._resume_path:
- self.read_file(self._resume_path)
- self.run_pygame(self.run)
+ self.canvas.run_pygame(self.run)
def run(self):
self.game.run()
-
+
+ def build_canvas(self):
+ self._canvas = sugargame.canvas.PygameCanvas(self)
+ self.set_canvas(self._canvas)
+
def build_toolbar(self):
# make a toolbox
toolbox = activity.ActivityToolbox(self)
@@ -96,12 +97,7 @@ class PhysicsActivity(sugargame.activity.PygameActivity):
self.game.set_tool(self.radioList[button])
def read_file(self, file_path):
- # Read file is called before the constructor returns when game is not yet valid.
- # Caching the file path seems to work in this specific instance.
- if not self.game:
- self._resume_path = file_path
- else:
- self.game.read_file(file_path)
+ self.game.read_file(file_path)
def write_file(self, file_path):
self.game.write_file(file_path)