def handlerightclick(self, mousepos): if vista.prect.collidepoint(mousepos): # Click on panel self.clearselections() if settings.trashonrightclick: jtile = panels.iconpoint(mousepos) if jtile in range(mechanics.ntiles): panels.claimtile(jtile) noise.play("trash") elif vista.vrect.collidepoint(mousepos): # Click on main window if settings.panonrightclick: vista.jumptoscreenpos(mousepos) else: self.clearselections()
def handleleftclick(self, mousepos): # TODO: handle dragging vs clicking more reliably if self.clickat is None: # It's a drag return (x0, y0), (x1, y1) = self.clickat, mousepos if abs(x0-x1) + abs(y0-y1) > 25: return vicon = vista.iconhit(mousepos) # Any vista icons pointed to if vicon is not None: self.handleiconclick(vicon) return bicon = panels.iconpoint(mousepos) # Any panel tile or icon pointed to if bicon is not None: panels.selecticon(bicon) return # Click on the main gameplay area if vista.vrect.collidepoint(mousepos): if self.cutmode and self.target is not None: self.target.die() self.clearselections() elif self.healmode and self.target is not None: self.target.autoheal = not self.target.autoheal elif self.parttobuild is not None and self.canbuild and game.state.body.canaddpart(self.parttobuild): if panels.selectedtile is not None: panels.claimtile() if panels.selectedorgan is not None: panels.claimorgan() game.state.body.addpart(self.parttobuild) self.clearselections() else: worldpos = vista.screentoworld(mousepos) if vista.HexGrid.nearesttile(worldpos) == (0,0): settings.showtips = not settings.showtips noise.play("addpart") return # Click on one of the panels self.clearselections()
def choosetip(self, mousepos): bicon = panels.iconpoint(mousepos) # Any build icons pointed to vicon = vista.iconhit(mousepos) # Any vista icons pointed to if vicon == "trash": if panels.selectedtile is not None: return _("want to get rid of the stalk option? click here!") else: return _("want to get rid of a stalk option? click on the stalk, then click here! you can also right-click on the stalk option") elif vicon == "zoomin": return elif vicon == "zoomout": return elif vicon == "menu": return _("click to pause or quit game and pick options. it okay. me wait") elif vicon == "music": return _("click to hear new song or turn songs off") elif vicon == "heal": if self.healmode: return _("green organs will heal themself with ooze. red organs won't. click on organs you want to change") return _("me organs will use ooze to heal when they get hurt. if you want some organs not to take ooze, click here to change them") elif vicon == "cut": return _("you no like a stalk or a organ on me body? use this to get rid of it! it okay, me not get hurt") elif bicon is not None: if bicon in range(mechanics.ntiles): return _("these me stalk options, har har har! can grow stalks where colors match, and can make stalks cross each other. try to make lots of branches.") elif bicon == "ncube": return _("the more me have of that organ, the faster the new stalks come") elif bicon == "control": return _("me need brains to grow. the more brains me have, the more organs me can have") elif bicon == "mutagenmeter": return _("that show how much mutagen me have. me like mutagen. it let me grow") elif bicon == "oozemeter": return _("that show how much ooze me have. hurt organs will use ooze to heal selfs") elif bicon in mechanics.info: return mechanics.info[bicon] return None elif vista.vrect.collidepoint(mousepos): worldpos = vista.screentoworld(mousepos) if vista.HexGrid.nearesttile(worldpos) == (0,0): return _("click me mouth to turn me tips on or off")