diff options
-rw-r--r-- | physics.py | 6 | ||||
-rw-r--r-- | tools.py | 13 |
2 files changed, 12 insertions, 7 deletions
@@ -81,7 +81,8 @@ class PhysicsGame: self.world.add.remove_mouseJoint() additional_data = { "trackinfo": self.trackinfo, - "full_pos_list": self.full_pos_list + "full_pos_list": self.full_pos_list, + "tracked_bodies": self.tracked_bodies } self.world.json_save(path, additional_data, serialize=True) @@ -123,6 +124,9 @@ class PhysicsGame: self.world.additional_vars['full_pos_list'] if 'trackinfo' in self.world.additional_vars: self.trackinfo = self.world.additional_vars['trackinfo'] + if 'tracked_bodies' in self.world.additional_vars: + self.tracked_bodies = \ + self.world.additional_vars['tracked_bodies'] while self.loop: while gtk.events_pending(): @@ -601,12 +601,13 @@ class DestroyTool(Tool): destroyed_body = False for key, info in tracklist: trackdex = info[4] - if trackdex in tokill[0].userData['track_indices'] and \ - info[3] is False: - self.game.world.world.DestroyBody(info[1]) - self.game.trackinfo[key][3] = True - destroyed_body = True - break + if "track_indices" in tokill[0].userData: + if trackdex in tokill[0].userData['track_indices'] and \ + info[3] is False: + self.game.world.world.DestroyBody(info[1]) + self.game.trackinfo[key][3] = True + destroyed_body = True + break jointnode = tokill[0].GetJointList() if jointnode and not destroyed_body: |