Example #1
0
 def destroy_button(self):
     destroyed = Systems.get_system_by_id(
         self.current.system_id).remove_astro_obj(self.current)
     if destroyed:
         self.parent.image.fill(COLOR_BOX, self.hab_rect)
         self.parent.del_button(self.current)
         self.erase()
Example #2
0
 def show_loaded(self):
     if self.loaded_data is not None:
         for satellite_data in self.loaded_data:
             moon = minor_moon_by_composition(satellite_data)
             system = Systems.get_system_by_id(satellite_data['system'])
             if system.add_astro_obj(moon):
                 self.current.current = moon
                 self.add_button()
         self.loaded_data.clear()
Example #3
0
    def create_button(self, planet=None):
        if planet is None:
            planet = self.current
            system = Systems.get_current()
        else:
            system = Systems.get_system_by_id(planet.system_id)

        if system.add_astro_obj(planet):
            for button in self.properties.get_widgets_from_layer(1):
                button.text_area.clear()
            self.parent.button_add.disable()
            self.parent.add_button(planet)
            self.has_values = False
            self.parent.image.fill(COLOR_BOX, self.hab_rect)
            if self.current is not None and self.current.sprite is not None:
                self.current.sprite.hide()
Example #4
0
    def set_loaded_orbits(self):
        for orbit_data in self._loaded_orbits:
            a = q(orbit_data['a'], 'au')
            if 'e' not in orbit_data:
                self.add_orbit_marker(a)
            else:
                e = q(orbit_data['e'])
                i = q(orbit_data['i'], 'degree')
                system = Systems.get_system_by_id(orbit_data['star_id'])
                planet = system.get_astrobody_by(orbit_data['astrobody'],
                                                 tag_type='id')
                star = system.star_system
                planet.set_orbit(star, [a, e, i])
                self.add_orbit_marker(planet.orbit)
                self.planet_area.delete_objects(planet)

        # borrar las órbitas cargadas para evitar que se dupliquen.
        self.sort_markers()
        self._loaded_orbits.clear()
Example #5
0
    def set_loaded_orbits(self):
        for orbit_data in self._loaded_orbits:
            a = q(orbit_data['a'], 'earth_radius')
            e = q(orbit_data['e'])
            i = q(orbit_data['i'], 'degree')
            system = Systems.get_system_by_id(orbit_data['star_id'])
            planet = system.get_astrobody_by(orbit_data['planet_id'],
                                             tag_type='id')
            if planet.id not in self.satellites:
                self.satellites[planet.id] = []

            if planet.id not in self._markers:
                self._markers[planet.id] = []
            satellite = system.get_astrobody_by(orbit_data['astrobody'],
                                                tag_type='id')
            self.satellites[planet.id].append(satellite)
            satellite.set_orbit(planet, [a, e, i])
            self.add_existing(satellite, planet.id)

        # borrar las órbitas cargadas para evitar que se dupliquen.
        self._loaded_orbits.clear()