示例#1
0
    //Cities always subdivide with citySkeleton
    //this function could randomize what subdivscheme is returned easily
    public override ISubDivScheme <SubdividableEdgeLoop <CityEdge> > GetDivScheme()
    {
        CityEdgeFactory factory = new CityEdgeFactory();

        System.Object[] factoryParams = CityEdge.GetRoadFactoryParams(depth);

        if (Random.value > 0.4 || GetPolygon().area < City.MINSUBDIVAREA * 2f)
        {
            return(new GetBlocks(factoryParams));
        }
        else
        {
            return(new CircularCenter <CityEdge>(factory, factoryParams));
        }
    }
示例#2
0
 //Cities always subdivide with citySkeleton
 //this function could randomize what subdivscheme is returned easily
 public override ISubDivScheme <SubdividableEdgeLoop <CityEdge> > GetDivScheme()
 {
     //return new Divide<CityEdge>(new CityEdgeFactory(), CityEdgeType.LandPath);
     return(new CitySkeleton(new Vector2[] { entrence }, Random.Range(20, 40), CityEdge.GetRoadFactoryParams(depth)));
     //return new GetBlocks(10, 10);
 }