summaryrefslogtreecommitdiff
path: root/asciifarm/client/display/inventory.py
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/display/inventory.py')
-rw-r--r--asciifarm/client/display/inventory.py73
1 files changed, 0 insertions, 73 deletions
diff --git a/asciifarm/client/display/inventory.py b/asciifarm/client/display/inventory.py
deleted file mode 100644
index 48bf41e..0000000
--- a/asciifarm/client/display/inventory.py
+++ /dev/null
@@ -1,73 +0,0 @@
-
-from asciifarm.common import utils
-
-from .widimp import WidImp
-
-class Inventory(WidImp):
-
- def __init__(self, title, titlebar="{}:", selectorChar="*"):
- self.title = title
- self.titlebar = titlebar
- self.selectorChar = selectorChar
- self.items = []
- self.selector = 0
-
- def getSelected(self):
- return self.selector
-
- def select(self, value, relative=False, modular=False):
- invLen = len(self.items)
- if relative:
- value += self.selector
- if modular and invLen:
- value %= invLen
- if value < 0:
- value = 0
- if value >= invLen:
- value = invLen-1
- if value in range(invLen):
- self.doSelect(value)
-
- def doSelect(self, value):
- self.selector = value
- self.change()
-
- def setInventory(self, items):
- self.items = items
- self.selector = utils.clamp(self.selector, 0, len(items)-1)
- self.change()
-
- def getItem(self, num):
- return self.items[num]
-
- def getSelectedItem(self):
- return self.getItem(self.getSelected())
-
- def setTitle(self, title):
- self.title = title
-
- def getNumItems(self):
- return len(self.items)
-
- def itemName(self, item):
- return item
-
- def update(self, win):
-
- width, height = win.getSize()
- height -= 1
- selected = self.selector
- start = min(selected - height//2, len(self.items)-height)
- start = max(start, 0)
- end = start + height
- win.erase()
- win.addLine((0,0), (self.titlebar.format(self.title))[:width])
- for i, item in enumerate(self.items[start:end]):
- if i + start == selected:
- win.addLine((0, i+1), self.selectorChar)
- win.addLine((1, i+1), self.itemName(item))
- if end < len(self.items):
- win.addLine((width-1, height), "+")
- if start > 0:
- win.addLine((width-1, 1), "-")
- win.noutrefresh()