From: Simon Cross Date: Thu, 15 May 2014 20:06:40 +0000 (+0200) Subject: Allow selecting non-viable actions with arrow keys (tab still takes one to the next... X-Git-Tag: 0.1~262 X-Git-Url: https://git.ctpug.org.za/?p=naja.git;a=commitdiff_plain;h=885d6dcee051aefa7e72ecb6e5efceb7f6549345 Allow selecting non-viable actions with arrow keys (tab still takes one to the next viable action). --- diff --git a/naja/widgets/info_area.py b/naja/widgets/info_area.py index 6b4e789..934bbc8 100644 --- a/naja/widgets/info_area.py +++ b/naja/widgets/info_area.py @@ -113,7 +113,7 @@ class InfoAreaWidget(Widget): def draw(self, surface): surface.blit(self.surface, self.pos) - def next_viable_action(self, step=1): + def next_action(self, viable_only=False, step=1): num_actions = len(self.card.actions) if num_actions == 0: return @@ -123,12 +123,12 @@ class InfoAreaWidget(Widget): # loop through each action at most once. chosen = (chosen + step) % num_actions action = self.card.actions[chosen] - if action.check_available(player): + if not viable_only or action.check_available(player): sound.play_sound('change_action.ogg', volume=0.05) self.chosen = chosen - def prev_viable_action(self): - return self.next_viable_action(step=-1) + def prev_action(self, viable_only=False): + return self.next_action(viable_only=viable_only, step=-1) def try_perform_action(self): player = self.state.player @@ -149,12 +149,12 @@ class InfoAreaWidget(Widget): self.try_perform_action() return finish_event() if ev.key in KEYS.UP: - self.next_viable_action() + self.next_action() return finish_event() if ev.key in KEYS.DOWN: - self.prev_viable_action() + self.prev_action() return finish_event() if ev.key in KEYS.SWITCH: - self.next_viable_action() + self.next_action(viable_only=True) return finish_event() return super(InfoAreaWidget, self).handle_event(ev)