import pygame import pymunk from common.drawableItem import DrawableItem from common.game.billiards.baseBilliard import BaseBilliard from common.game.gameData import GameData from config.sys import HOLE_RADIUS, BALL_RADIUS from enums.color import GARY class Hole(DrawableItem): def __init__(self, pos, game_data: GameData): self.__pos = pos self.__game_data = game_data pass def draw(self, window: pygame.Surface): pygame.draw.circle(window, GARY, self._get_relative_pos(self.__pos), HOLE_RADIUS) def goal(self, space: pymunk.Space, balls: list[BaseBilliard]): for _ in balls: pos = pygame.Vector2(_.rigid_body.position.x - self.__pos[0], _.rigid_body.position.y - self.__pos[1]) if pos.length() <= HOLE_RADIUS: _.rigid_body.position = pymunk.Vec2d(99999, 99999) _.rigid_body.velocity = pymunk.Vec2d.zero() _.activity = False self.__game_data.goal_balls.append(_.category) pass