summaryrefslogtreecommitdiff
path: root/asciifarm/client/display/selector.py
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/display/selector.py')
-rw-r--r--asciifarm/client/display/selector.py26
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()