private void SpawnRoads(Car[] carPrefabs) { foreach (Road road in roads) { Vector2Int start = road.Start.position; Vector2Int end = road.End.position; CarExit exit = realGrid[end.x, end.y].AddComponent <CarExit>(); CarEntrance entrance = realGrid[start.x, start.y].AddComponent <CarEntrance>(); entrance.Initialize(road, exit, carPrefabs); } }
public void Initialize(Road road, CarExit targetExit) { this.road = road; exit = targetExit; rigid2D.rotation = GetRotation(road.Start.direction); currentSpeed = speed; currentNode = road.Start; NextNode(); timer = 1f; }
private void OnTriggerEnter2D(Collider2D collision) { CarExit exit = collision.gameObject.GetComponent <CarExit>(); if (exit && exit == this.exit) { exit.Exit(this); } Car otherCar = collision.gameObject.GetComponent <Car>(); if (otherCar) { Destroy(this.gameObject); Destroy(otherCar.gameObject); } }
public void Initialize(Road road, CarExit exit, Car[] carPrefabs) { this.exit = exit; this.road = road; this.carPrefabs = carPrefabs; }