32 lines
921 B
Python
32 lines
921 B
Python
import sumolib
|
|
from Car import Car
|
|
|
|
class CarController:
|
|
def __init__(self,path,parentMap,surface):
|
|
self.map=parentMap
|
|
self.surf=surface
|
|
self.cars=[]
|
|
self.fromPath(path)
|
|
|
|
def fromPath(self,path):
|
|
for vehicle in sumolib.xml.parse(path,"vehicle"):
|
|
route=vehicle.route[0].edges.split()
|
|
self.cars.append(Car(vehicle.id,route,self.map,self,self.surf))
|
|
|
|
def getCarsOnEdge(self,edgeID): # on devrai probablement utiliser une map ici (dict en python?) mais flemme
|
|
res=[]
|
|
for car in self.cars:
|
|
cid=car.route[car.index].getID()
|
|
if(cid==edgeID):
|
|
res.append(car)
|
|
return res
|
|
|
|
def update(self):
|
|
for car in self.cars:
|
|
car.update(1.0/60)
|
|
|
|
def draw(self,screen):
|
|
for car in self.cars:
|
|
car.draw((255,255,255))
|
|
screen.blit(self.surf,(0,0))
|