Ejemplo n.º 1
0
    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)