def HandleInput(self, lstInput=[]): if not self.control: self.SubWindow[1].HandleInput(lstInput) else: for input in lstInput: if input == "K_UP": self.idxCursor -= 1 if self.idxCursor < 0: self.idxCursor = len(self.lstMenus) - 1 self.objWindow.UpdateCursor(self.idxCursor) #print(self.lstMenus[self.idxCursor][0]) if input == "K_DOWN": self.idxCursor += 1 if self.idxCursor == len(self.lstMenus): self.idxCursor = 0 self.objWindow.UpdateCursor(self.idxCursor) #print(self.lstMenus[self.idxCursor][0]) if input == "K_LEFT": self.DestroyWindow() if input == "K_RIGHT": #print("K_RIGHT") if len(self.lstMenus[self.idxCursor] [1]) != 0: #if list of submenus is not empty font = pygame.font.SysFont("none", 32) offsetX = font.size("-" + self.lstMenus[self.idxCursor][0])[ 0] # determine length idx offsetY = font.size( "I")[0] * self.idxCursor # get vertical location offsetY += (self.intPadding * self.idxCursor ) #+ (self.intPadding * 2) self.CreateNewSubWindow( self.lstMenus[self.idxCursor][1], offset=(offsetX, offsetY)) else: objFiredEvent = str(self.lstMenus[self.idxCursor][2]) objFiredEventDetails = str( self.lstMenus[self.idxCursor][3]) # line below is for debugging print("Event Fired: " + str(self.lstMenus[self.idxCursor][2]) + " - " + self.lstMenus[self.idxCursor][0]) self.objEventHandler.RaiseEvent( EventHandler.Event(objFiredEvent, objFiredEventDetails))
def use(self): # concept use of the item? # call use item and then item returns a event to be raised? return EventHandler.Event(self.EffectType, self.Strength)