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