def getUnits(self, center = (0, 0), radius = 0, alliance = -1): reqUnits = [] if alliance == -1: reqUnits.extend(self.Units) else: for unit in self.Units: if unit.Alliance == alliance and unit.isAlive(): reqUnits.append(unit) if radius == 0: return reqUnits unitList = reqUnits[:] for unit in reqUnits: if Base.distance(unit.Sprite.rect.center, center) > radius: unitList.remove(unit) reqUnits = unitList return reqUnits
def sortEnemies(self): dists = [(Base.distance(enemy.getPos(), self.getPos()), enemy) for enemy in self.Enemies] dists.sort() self.Enemies = dists