| 776 | |
| 777 | |
| 778 | class ModuleWorld(object): |
| 779 | def __init__(self, name, args, timeout): |
| 780 | self.client = None |
| 781 | self.name = name |
| 782 | self.args = args |
| 783 | self.timeout = timeout |
| 784 | self.server_fps = 0.0 |
| 785 | self.simulation_time = 0 |
| 786 | self.server_clock = pygame.time.Clock() |
| 787 | |
| 788 | # World data |
| 789 | self.world = None |
| 790 | self.town_map = None |
| 791 | self.actors_with_transforms = [] |
| 792 | # Store necessary modules |
| 793 | self.module_hud = None |
| 794 | self.module_input = None |
| 795 | |
| 796 | self.surface_size = [0, 0] |
| 797 | self.prev_scaled_size = 0 |
| 798 | self.scaled_size = 0 |
| 799 | # Hero actor |
| 800 | self.hero_actor = None |
| 801 | self.spawned_hero = None |
| 802 | self.hero_transform = None |
| 803 | |
| 804 | self.scale_offset = [0, 0] |
| 805 | |
| 806 | self.vehicle_id_surface = None |
| 807 | self.result_surface = None |
| 808 | |
| 809 | self.traffic_light_surfaces = TrafficLightSurfaces() |
| 810 | self.affected_traffic_light = None |
| 811 | |
| 812 | # Map info |
| 813 | self.map_image = None |
| 814 | self.border_round_surface = None |
| 815 | self.original_surface_size = None |
| 816 | self.hero_surface = None |
| 817 | self.actors_surface = None |
| 818 | |
| 819 | def _get_data_from_carla(self): |
| 820 | try: |
| 821 | self.client = carla.Client(self.args.host, self.args.port) |
| 822 | self.client.set_timeout(self.timeout) |
| 823 | |
| 824 | if self.args.map is None: |
| 825 | world = self.client.get_world() |
| 826 | else: |
| 827 | world = self.client.load_world(self.args.map) |
| 828 | |
| 829 | town_map = world.get_map() |
| 830 | return (world, town_map) |
| 831 | |
| 832 | except RuntimeError as ex: |
| 833 | logging.error(ex) |
| 834 | exit_game() |
| 835 | |