29 lines
802 B
Python
29 lines
802 B
Python
import sumolib
|
|
from Car import Car
|
|
|
|
class CarController:
|
|
def __init__(self,parentMap):
|
|
self.map=parentMap
|
|
self.cars=[]
|
|
|
|
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))
|
|
|
|
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,painter):
|
|
for car in self.cars:
|
|
car.draw(painter)
|