From 9fe119a95b4cd8ab23ea30db9a72645063da264f Mon Sep 17 00:00:00 2001 From: troido Date: Sun, 9 Sep 2018 14:52:59 +0200 Subject: switchable menus are now somewhat usable and presentable --- asciifarm/client/commandhandler.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'asciifarm/client/commandhandler.py') diff --git a/asciifarm/client/commandhandler.py b/asciifarm/client/commandhandler.py index 0b5351a..1f5177b 100644 --- a/asciifarm/client/commandhandler.py +++ b/asciifarm/client/commandhandler.py @@ -24,6 +24,9 @@ class CommandHandler: "selectwidget": self.selectWidget, "selectitem": self.selectItem, "inputwithselected": self.actWithSelected, + "use": self.useSelected, + "unuse": self.unUseSelected, + "take": self.takeSelected, "eval": self.eval, "exec": self.exec, "scrollchat": self.scrollChat, @@ -82,6 +85,37 @@ class CommandHandler: def actWithSelected(self, action, widget): self.input([action, self.client.display.getWidget(widget).getSelected()]) + def useSelected(self): + widget = self.client.display.getWidget("switch").getSelectedItem() + selected = widget.getImpl().getSelected() + if widget.name in ("inventory", "equipment"): + action = "use" + elif widget.name == "ground": + action = "interact", + else: + return + self.input([action, selected]) + + def unUseSelected(self): + widget = self.client.display.getWidget("switch").getSelectedItem() + selected = widget.getImpl().getSelected() + if widget.name == "inventory": + action = "drop" + elif widget.name == "equipment": + action = "unequip" + else: + return + self.input([action, selected]) + + def takeSelected(self): + widget = self.client.display.getWidget("switch").getSelectedItem() + selected = widget.getImpl().getSelected() + if widget.name == "ground": + action = "take" + else: + return + self.input([action, selected]) + def eval(self, *texts): text = " ".join(texts) self.log(eval(text, {"self": self, "client": self.client, "connection": self.client.connection, "display": self.client.display})) -- cgit