public void RoadManagerTestsCheckIfNeighbourIsRoadInDictionaryCheckIfCornerFitsR270()
        {
            var result = RoadManager.CheckIfCornerRoadFits((int)Direction.Up | (int)Direction.Left, null, _roadSO);

            Assert.AreEqual(_roadCorner, result.RoadPrefab);
            Assert.AreEqual(RotationValue.R270, result.RoadPrefabRotation);
        }
예제 #2
0
    public static RoadStructureHelper GetCorrectRoadPrefab(Vector3 gridPosition, StructureBaseSO structureDat, Dictionary<Vector3Int, GameObject> structuresToBeModified, GridStructure grid)
    {
        var neighborStatus = RoadManager.GetRoadNeighborStatus(gridPosition, grid, structuresToBeModified);
        RoadStructureHelper roadToReturn = null;
        roadToReturn = RoadManager.CheckIfStraightRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfCornerRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfThreewayRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfFourwayRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;

        return roadToReturn;
    }