Mercurial > nagslang
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] |