Exemple #1
0
 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)
Exemple #2
0
 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
Exemple #3
0
    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)
Exemple #4
0
 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))