diff options
Diffstat (limited to 'asciifarm/client/display/selector.py')
| -rw-r--r-- | asciifarm/client/display/selector.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/asciifarm/client/display/selector.py b/asciifarm/client/display/selector.py new file mode 100644 index 0000000..41249c2 --- /dev/null +++ b/asciifarm/client/display/selector.py @@ -0,0 +1,26 @@ + + +class Selector: + + + def __init__(self, inventory): + self.value = 0 + self.inventory = inventory + + def getValue(self): + return min(self.value, self.inventory.getNumItems()-1) + + def select(self, value, relative=False): + invLen = self.inventory.getNumItems() + if relative: + value += self.selector + if value < 0: + if not relative: + value += invLen + else: + value = 0 + if value >= invLen: + value = invLen-1 + if value in range(invLen): + self.selector = value + self.inventory.change() |
