def __init__(self, screen, img, stats): self.screen = screen if isinstance(img, str): self.img = pygame.image.load(img) else: self.img = img self.img = pygame.transform.scale(self.img, (int( self.screen.get_height() / 2), int(self.screen.get_height() / 2))) self.unit = Unit(self.screen, self.img, showRPM=False) self.unit.position = ( (((self.screen.get_width() / 2) - self.unit.width) / 2) + (self.unit.width / 2), ((self.screen.get_height() - self.unit.height) / 2) + (self.unit.height / 2), ) self.unit.angularVelocity = 100 self.unit.angularFriction = 0 # self.unit.Equip(WeaponFireStick(self.screen, self.unit)) self.weaponsTypes = [ WeaponFireStick, WeaponShield, ] # init self.current = 0 self.ready = False self.lastInteraction = pygame.time.get_ticks() self.previewUnits = { # type(weapon): Unit() } surf = pygame.Surface(self.unit.size) pygame.draw.circle(surf, (100, 100, 100), surf.get_rect().center, surf.get_width() / 2) for weaponType in self.weaponsTypes: unit = Unit(self.screen, surf, showRPM=False, bounceOffWalls=False) unit.angularFriction = 0 unit.angularVelocity = 100 unit.Equip(weaponType(self.screen, unit)) self.previewUnits[weaponType] = unit