Example #1
0
    public void makeRoad()
    {
        GameObject newRoad = Instantiate(RoadPrefab, Vector3.zero, Quaternion.identity);

        newRoad.GetComponent <VillageRoadSegment>().connectedVillages = new VillageNode[] { startingNode, endingNode };
        newRoad.GetComponent <LineRenderer>().SetPositions(new Vector3[] { startingNode.transform.position, endingNode.transform.position });
        //Update Connection Info
        ConnectionInfo newInfo = new ConnectionInfo();

        newInfo.Cost = Cost;
        newInfo.Road = GetComponent <VillageRoadSegment>();
        //Setting info in starting node
        newInfo.VillageNodeID         = endingNode.ID;
        newInfo.ArrayElementToStartAt = -1;//startingNode.GetClosestIndex(startingNode.transform.position,newInfo.Road);
        startingNode.AddRoad(newInfo);
        //Setting info in ending node
        newInfo.VillageNodeID         = startingNode.ID;
        newInfo.ArrayElementToStartAt = -1;//endingNode.GetClosestIndex(endingNode.transform.position, newInfo.Road);
        endingNode.AddRoad(newInfo);
        //Setting name
        newRoad.name = "Road_" + startingNode.name + "->" + endingNode.name;
    }