+ def _can_move(self, x, y):
+ if self._mode == 'walk':
+ return self._level.can_walk(x, y, self._level_layer)
+ elif self._mode == 'fly':
+ return self._level.can_fly(x, y, self._level_layer)
+ elif self._mode == 'crawl':
+ return self._level.can_crawl(x, y, self._level_layer)
+
+ def _set_angle(self, angle):
+ self._angle = angle
+ self._avatar.angle = angle
+
+ def update(self, world, engine, dt):
+ if self._vehicle.changed():
+ self._roaches.remove(self._avatar)
+ self._avatar = self._vehicle.get_avatar(world)
+ self._avatar.pos = (WIDTH // 2, HEIGHT // 2)
+ self._roaches.add(self._avatar)
+ self._avatar.set_angle(self._angle)
+ super().update(world, engine, dt)
+