From 908c70765d278ba33e377687aa2292135d94d818 Mon Sep 17 00:00:00 2001 From: Simon Cross Date: Thu, 15 May 2014 21:54:44 +0200 Subject: [PATCH] Grey-out unusable actions. --- naja/widgets/info_area.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/naja/widgets/info_area.py b/naja/widgets/info_area.py index 5f19a1e..6b4e789 100644 --- a/naja/widgets/info_area.py +++ b/naja/widgets/info_area.py @@ -74,24 +74,25 @@ class InfoAreaWidget(Widget): self.surface.blit(hint.surface, (4, y_offset)) def prepare_action(self, choice, action, y_offset): + x_offset = 18 + action_viable = action.check_available(self.state.player) + text_colour = PALETTE.BLACK if action_viable else PALETTE.GREY + text = TextBoxWidget( - (18, y_offset), action.get_text(), + (x_offset, y_offset), action.get_text(), box_width=(INFO_SIZE[0] - 16) // EIGHT_BIT_SCALE, - fontsize=28) + fontsize=28, colour=text_colour) text.render(self.surface) + border_colour = None - if not action.check_available(self.state.player): - border_colour = PALETTE.ORANGE + (255,) - elif choice == self.chosen: - border_colour = PALETTE.PINK + (128,) - else: - border_colour = PALETTE.GREEN + (128,) + if choice == self.chosen: + border_colour = PALETTE.GREEN if action_viable else PALETTE.ORANGE if border_colour: bottom = y_offset + text.surface.get_rect().height - right = text.surface.get_rect().width + 18 + right = text.surface.get_rect().width + x_offset pygame.draw.lines(self.surface, border_colour, True, - [(18, y_offset), (right, y_offset), - (right, bottom), (18, bottom)], 4) + [(x_offset, y_offset), (right, y_offset), + (right, bottom), (x_offset, bottom)], 4) if action.required_bits: img_name = BIT_MAP[action.required_bits].replace( '.png', '_small.png') -- 2.34.1