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()
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()
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()
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()
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()