def redraw(self, screen, drawselected=True): if not self.visible:return #Draw inventory background screen.blit(self.image, (self.invpos[0]-\ self.imgoffset[0]+self.invsoffset[0], \ self.invpos[1]-self.imgoffset[1]+self.invsoffset[1])) xx=0 #current slot #Skip draw when there no inventory if not self.inventory:return for item in self.inventory.slots: if item!=None: img=self.imgloader.loadimage(item[0]) nx=(xx%self.invsize[0])*self.ts+self.getinvpos()[0] ny=(xx/self.invsize[0])*self.ts+self.getinvpos()[1] screen.blit(img, (nx, ny)) #Draw count txt=self.font.render(str(item[1]), 1, (255, 255, 0)) screen.blit(txt, (nx, ny)) #Draw selection if xx==self.selected and drawselected: pygame.draw.rect(screen, (255, 255, 0), \ (nx-1, ny-1, self.ts-2, self.ts-2), 1) drawselected=False #increase index xx+=1 #Draw tooltip if self.lastslot!=None: slot=self.inventory.getslot(self.lastslot) if slot!=None: mx, my=pygame.mouse.get_pos() block=Engine.create_block(slot[0]) # create temp block #Draw tooltip background #pygame.draw.rect(screen, (64, 64, 64), \ # (mx, my, 128, 32), 0) #Draw item name color=(200, 200, 200) img=self.font.render(str(block.name), 1, color, (64, 64, 64)) px,py=mx+(64-img.get_size()[0]/2),my screen.blit(img, (px, py))