コード例 #1
0
    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);
        }
    }
コード例 #2
0
ファイル: Car.cs プロジェクト: Notloc/Intersections
    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;
    }
コード例 #3
0
ファイル: Car.cs プロジェクト: Notloc/Intersections
    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);
        }
    }
コード例 #4
0
ファイル: CarEntrance.cs プロジェクト: Notloc/Intersections
 public void Initialize(Road road, CarExit exit, Car[] carPrefabs)
 {
     this.exit       = exit;
     this.road       = road;
     this.carPrefabs = carPrefabs;
 }