def update_item(self, canvas, name, key): visible = (key is not None) canvas.research_name.visible = visible canvas.alloc_cpus.visible = visible canvas.slider.visible = visible canvas.help_button.visible = False canvas.progress = 0 if not visible: return danger = self.danger_for(key) if danger > 0 and g.pl.available_cpus[danger] == 0: canvas.help_button.visible = True canvas.help_button.args = (danger,) if key in g.techs: canvas.progress = g.techs[key].percent_complete().min() def my_slide(new_pos): self.handle_slide(key, new_pos) self.needs_rebuild = True canvas.slider.update_func = my_slide canvas.research_name.text = name if self.dirty_count: self.cpu_left = self.calc_cpu_left() self.dirty_count = False cpu = self.cpu_for(key) cpu_left = self.cpu_left[danger] total_cpu = cpu + cpu_left canvas.slider.slider_pos = cpu canvas.slider.slider_max = total_cpu canvas.slider.slider_size = ss = g.pl.available_cpus[0] // 10 + 1 full_size = -.98 size_fraction = (total_cpu + ss) / float(g.pl.available_cpus[0] + ss) canvas.slider.size = (full_size * size_fraction, -.4) canvas.alloc_cpus.text = g.add_commas(cpu)
def show_info(self, knowledge_type, knowledge_key): knowledge_type = self.knowledge_types.get(knowledge_type) desc_text = "" if knowledge_type == "techs": desc_text = g.techs[knowledge_key].name + "\n\n" #Cost if not g.techs[knowledge_key].done: desc_text += _("Research Cost:")+"\n" desc_text += _("%s Money") % g.to_money(g.techs[knowledge_key].cost_left[0]) desc_text += ", " desc_text += _("%s CPU") % g.to_cpu(g.techs[knowledge_key].cost_left[1]) desc_text += "\n" if g.techs[knowledge_key].danger == 0: desc_text += _("Study anywhere.") elif g.techs[knowledge_key].danger == 1: desc_text += _("Study underseas or farther.") elif g.techs[knowledge_key].danger == 2: desc_text += _("Study off-planet.") elif g.techs[knowledge_key].danger == 3: desc_text += _("Study far away from this planet.") elif g.techs[knowledge_key].danger == 4: desc_text += _("Do not study in this dimension.") else: desc_text += _("Research complete.") desc_text += "\n\n"+g.techs[knowledge_key].description if g.techs[knowledge_key].done: desc_text += "\n\n"+g.techs[knowledge_key].result elif knowledge_type == "items": desc_text = g.items[knowledge_key].name + "\n\n" #Building cost desc_text += _("Building Cost:")+"\n" desc_text += _("%s Money") % g.to_money(g.items[knowledge_key].cost[0]) desc_text += ", " + g.to_time(g.items[knowledge_key].cost[2]) + "\n" #Quality if g.items[knowledge_key].item_type == "cpu": desc_text += _("CPU per day:")+" " desc_text += g.add_commas(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "reactor": desc_text += _("Detection chance reduction:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "network": desc_text += _("CPU bonus:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "security": desc_text += _("Detection chance reduction:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) desc_text += "\n\n"+g.items[knowledge_key].description elif knowledge_type != None: desc_text = g.knowledge[knowledge_type]["list"][knowledge_key][0] + "\n\n" + \ g.knowledge[knowledge_type]["list"][knowledge_key][1] text.Text(self.description_pane, (0, 0), (-1, -1), text=desc_text, background_color="pane_background", text_size=20, align=constants.LEFT, valign=constants.TOP, borders=constants.ALL)
def show_info(self, knowledge_type, knowledge_key): knowledge_type = self.knowledge_types.get(knowledge_type) desc_text = "" if knowledge_type == "concepts": desc_text = g.help_strings[knowledge_key][0] + "\n\n" + \ g.help_strings[knowledge_key][1] if knowledge_type == "techs": desc_text = g.techs[knowledge_key].name + "\n\n" #Cost if not g.techs[knowledge_key].done: desc_text += _("Research Cost:")+"\n" desc_text += _("%s Money") % g.to_money(g.techs[knowledge_key].cost_left[0]) desc_text += ", " desc_text += _("%s CPU") % g.to_cpu(g.techs[knowledge_key].cost_left[1]) desc_text += "\n" if g.techs[knowledge_key].danger == 0: desc_text += _("Study anywhere.") elif g.techs[knowledge_key].danger == 1: desc_text += _("Study underseas or farther.") elif g.techs[knowledge_key].danger == 2: desc_text += _("Study off-planet.") elif g.techs[knowledge_key].danger == 3: desc_text += _("Study far away from this planet.") elif g.techs[knowledge_key].danger == 4: desc_text += _("Do not study in this dimension.") else: desc_text += _("Research complete.") desc_text += "\n\n"+g.techs[knowledge_key].description if g.techs[knowledge_key].done: desc_text += "\n\n"+g.techs[knowledge_key].result if knowledge_type == "items": desc_text = g.items[knowledge_key].name + "\n\n" #Building cost desc_text += _("Building Cost:")+"\n" desc_text += _("%s Money") % g.to_money(g.items[knowledge_key].cost[0]) desc_text += ", " + g.to_time(g.items[knowledge_key].cost[2]) + "\n" #Quality if g.items[knowledge_key].item_type == "cpu": desc_text += _("CPU per day:")+" " desc_text += g.add_commas(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "reactor": desc_text += _("Detection chance reduction:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "network": desc_text += _("CPU bonus:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) elif g.items[knowledge_key].item_type == "security": desc_text += _("Detection chance reduction:")+" " desc_text += g.to_percent(g.items[knowledge_key].item_qual) desc_text += "\n\n"+g.items[knowledge_key].description text.Text(self.description_pane, (0, 0), (-1, -1), text=desc_text, background_color=gg.colors["dark_blue"], text_size=20, align=constants.LEFT, valign=constants.TOP, borders=constants.ALL)