예제 #1
0
class BattleTargeting(PlayUI):
    def __init__(self, cardN, cardPos):
        self.arrow = Arrow(Vector(*pygame.mouse.get_pos()))
        self.cardN = cardN
        self.cardPos = cardPos
        self.arrow.set_destination(cardPos)

    def draw(self, game):
        drawBattleScreen(self, game, kwargs={"skips": [self.cardN]})
        game.renderer.draw(game.surface, self.cardPos,
                           game.state.hand[self.cardN])
        self.arrow.draw(game.surface)

    def input(self, game, event):
        self.arrow.set_destination(Vector(*pygame.mouse.get_pos()))

        hitboxes = self.findHitboxes()
        targets = self.findTargets(game)

        if event.type == MOUSEBUTTONUP and event.button == 1:
            for i in range(len(hitboxes)):
                if pygame.rect.Rect((hitboxes[i])).collidepoint(*event.pos):
                    self.tryPlayCard(game, targets[i])
                    break
            else:
                game.nextUI = BattleIdle()