def _load_background(self): background = Sprite( self.gallery.content["display"]["worldmap_minitrain"]) self.optimal_scale = (self.config.window_width * self.display_pos_size[ "display_worldmap_minitrain"]["W"]) / background.width background.image_anchor = 0, 0 background.scale = self.optimal_scale background.x = self.config.window_width * self.display_pos_size[ "display_worldmap_minitrain"]["X"] background.y = self.config.window_height * self.display_pos_size[ "display_worldmap_minitrain"]["Y"] self.left_margin = background.x self.bottom_margin = background.y self.optimal_width = background.width self.optimal_height = background.height #self.add(background) white_base = ColorLayer(255, 255, 255, 255, width=background.width * 6, height=background.height + 10) white_base.x = background.x - (background.width * 3) white_base.y = background.y + self.bottom_margin self.add(white_base)
def refresh_labels(self): if self.transarctica.update_minitrain: xx = self.optimal_width * 0.985 for sp in self.get_children(): self.remove(sp) white_base = ColorLayer(235, 200, 130, 255, width=self.optimal_width * 6, height=self.optimal_height + 15) white_base.x = self.left_margin - (self.optimal_width * 3) white_base.y = self.bottom_margin self.add(white_base) for wg in self.transarctica.train_layout: train = Sprite( self.gallery.content["wagon"][self.config.conf_wagons[ self.transarctica.train_layout[wg]].display_image + "_tr"]) train.image_anchor = 0, 0 train.scale = self.optimal_scale * 0.40 xx = xx - train.width train.x = xx train.y = self.bottom_margin + 10 #damage_base = ColorLayer( 85*int(self.config.conf_wagons[self.transarctica.train_layout[wg]].damage),45,45,45*int(self.config.conf_wagons[self.transarctica.train_layout[wg]].damage), width=train.width, height=train.height) self.add(train) if int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage) > 0: damage_base = ColorLayer( 255, 0, 0, 255, width=trunc( (train.width / 4) * (4 - int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage))), height=train.height // 10) damage_base.x = train.x damage_base.y = train.y + damage_base.height * 9 self.add(damage_base) self.transarctica.update_minitrain = False
def draw_overlays(self): """Draws black, semi-transparent overlays over the lights to simulate a light that is turned off.""" self.overlays = [] width = self.image.width / TrafficLights.NUM_LIGHTS height = self.image.height for i in range(-2, TrafficLights.NUM_LIGHTS / 2): overlay = ColorLayer(0, 0, 0, 125, width, height) overlay.x = i * width self.add(overlay, z=2) self.overlays.append(overlay)
def _load_background(self): background = Sprite(self.gallery.content["display"]["worldmap_hud"]) self.optimal_scale = (self.config.window_width * self.display_pos_size["display_worldmap_hud"] ["W"]) / background.width background.image_anchor = 0, 0 background.scale = self.optimal_scale background.x = self.config.window_width * self.display_pos_size[ "display_worldmap_hud"]["X"] background.y = self.config.window_height * self.display_pos_size[ "display_worldmap_hud"]["Y"] self.left_margin = background.x self.bottom_margin = background.y self.optimal_width = background.width self.optimal_height = background.height black_base = ColorLayer(0, 0, 0, 255, width=background.width, height=background.height) black_base.x = background.x black_base.y = background.y self.add(black_base) self._load_button_gen("button", "engine", events.emit_show_engine, "button_engine", 0, 1, 0.9) self._load_button_gen("button", "quarters", events.emit_show_quarters, "button_quarters", 0, 1, 0.9) self._load_button_gen("button", "cnc", events.emit_show_cnc, "button_cnc", 0, 1, 0.9) self._load_button_gen("button", "minimap", events.emit_show_minimap, "button_minimap", 0, 1, 0.9) self._load_button_gen("button", "find_engine", events.emit_find_engine, "button_find_engine", 0, 1, 0.9) self._load_button_gen("button", "arrow_left", events.emit_scroll_minitrain, "button_arrow_left", 0, 0.4, 0.95) self._load_button_gen("button", "arrow_right", events.emit_scroll_minitrain, "button_arrow_right", 0, 0.4, 0.95) #self._load_button_direction() self._load_button_gen("button", "break_on", events.emit_switch_break, "button_break", 0, 1, 0.95) self._load_button_gen("button", "direction_for", events.emit_switch_direction, "button_direction", 0, 1, 0.95) self.add(background)
def draw_wagons_buttons(self): if self.service_mode == "R": self.get( "label_line_4" ).element.text = "Select wagon to Repair." + "You have " + str( self.transarctica.cargo_manifest[ self.transarctica.get_item_id_from_name( "Lignite")]["hold"]) + " baks lignite" elif self.service_mode == "S": self.get( "label_line_4" ).element.text = "Select wagons to Switch." + "You have " + str( self.transarctica.cargo_manifest[ self.transarctica.get_item_id_from_name( "Lignite")]["hold"]) + " baks lignite" wagon_scale = 0.30 right_pad = self.config.window_width * 0.85 curr_x = right_pad curr_y = self.optimal_height * 0.15 train = Sprite(self.gallery.content["wagon"]["blank"]) train.scale = self.optimal_scale * wagon_scale divider = train.width if self.service_mode == "S": self._load_button_gen("wagon", "blank", events.emit_wagon_service, "button_wagon_b" + str(0), 100, wagon_scale, 0.95, curr_x, curr_y) self.elements_to_remove.append("button_wagon_b" + str(0)) for wg in self.transarctica.train_layout: train = Sprite( self.gallery.content["wagon"][self.config.conf_wagons[ self.transarctica.train_layout[wg]].display_image]) train.image_anchor = 0, 0 train.scale = self.optimal_scale * wagon_scale curr_x = curr_x - train.width if curr_x <= 50: right_pad -= self.config.window_width * 0.05 curr_x = right_pad - train.width curr_y -= self.optimal_height * 0.05 train.x = curr_x train.y = curr_y self._load_button_gen( "wagon", self.config.conf_wagons[ self.transarctica.train_layout[wg]].display_image, events.emit_wagon_service, "button_wagon_" + str(wg), wg, wagon_scale, 0.95, curr_x, curr_y) self.elements_to_remove.append("button_wagon_" + str(wg)) if int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage) > 0: damage_base = ColorLayer( 255, 0, 0, 255, width=trunc( (train.width / 4) * (4 - int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage))), height=train.height // 10) damage_base.x = train.x damage_base.y = train.y + damage_base.height * 9 self.add(damage_base, name="healthbar_wagon_" + str(wg)) self.elements_to_remove.append("healthbar_wagon_" + str(wg)) curr_x = curr_x - divider self._load_button_gen("wagon", "blank", events.emit_wagon_service, "button_wagon_b" + str(wg + 1), 101 + wg, wagon_scale, 0.95, curr_x, curr_y) self.elements_to_remove.append("button_wagon_b" + str(wg + 1)) if self.service_mode == "R": for wg in self.transarctica.train_layout: if self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage > 0: train = Sprite( self.gallery.content["wagon"][self.config.conf_wagons[ self.transarctica.train_layout[wg]].display_image]) train.image_anchor = 0, 0 train.scale = self.optimal_scale * wagon_scale curr_x = curr_x - train.width if curr_x <= 50: right_pad -= self.config.window_width * 0.05 curr_x = right_pad - train.width curr_y -= self.optimal_height * 0.05 train.x = curr_x train.y = curr_y self._load_button_gen( "wagon", self.config.conf_wagons[ self.transarctica.train_layout[wg]].display_image, events.emit_wagon_service, "button_wagon_" + str(wg), wg, wagon_scale, 0.95, curr_x, curr_y) self.elements_to_remove.append("button_wagon_" + str(wg)) if int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage) > 0: damage_base = ColorLayer( 255, 0, 0, 255, width=trunc( (train.width / 4) * (4 - int(self.config.conf_wagons[ self.transarctica.train_layout[wg]].damage) )), height=train.height // 10) damage_base.x = train.x damage_base.y = train.y + damage_base.height * 9 self.add(damage_base, name="healthbar_wagon_" + str(wg)) self.elements_to_remove.append("healthbar_wagon_" + str(wg))