comparison tools/area_editor.py @ 546:c13f81f8d48c

Hackily unbreak terrian movement.
author Neil Muller <drnlmuller@gmail.com>
date Sat, 07 Sep 2013 21:30:53 +0200
parents 15f066cc5bf1
children f868a8592432
comparison
equal deleted inserted replaced
545:15f066cc5bf1 546:c13f81f8d48c
873 873
874 def _move_obj(self, obj, new_pos): 874 def _move_obj(self, obj, new_pos):
875 new_coords = self.level.point_to_pymunk(new_pos) 875 new_coords = self.level.point_to_pymunk(new_pos)
876 shape = obj.get_shape() 876 shape = obj.get_shape()
877 shape.body.position = (new_coords[0], new_coords[1]) 877 shape.body.position = (new_coords[0], new_coords[1])
878 data = self.level.lookup[obj]
879 args = data['args']
880 param_defs = obj.requires()[1:] # chop off name
881 for i, (_key, key_type) in enumerate(param_defs):
882 if i > len(args):
883 break
884 if key_type == "polygon (convex)":
885 self._update_pos(obj, new_pos)
878 self.invalidate() 886 self.invalidate()
879 887
880 def _update_pos(self, obj, new_pos, final=False): 888 def _update_pos(self, obj, new_pos):
881 data = self.level.lookup[obj] 889 data = self.level.lookup[obj]
882 new_coords = self.level.point_to_pymunk(new_pos) 890 new_coords = self.level.point_to_pymunk(new_pos)
883 args = data['args'] 891 args = data['args']
884 old_coords = list(args[0]) 892 old_coords = list(args[0])
885 args[0][0] = new_coords[0] 893 args[0][0] = new_coords[0]