Esempio n. 1
0
        //Highway Constructor (Uses Save File)
        public Highway(Way w, List <HighwayConfigurations> config, myTerrain _terrain, HighwaySave save)
        {
            id   = w.id;
            way  = w;
            type = getHighwayType(w.tags);
            name = getHighwayName(w.tags);

            if (type == highwayType.HighwayFootway)
            {
                return;
            }


            getConfiguration(config);
            waySize           = save.waySize;
            hasLeftSidewalk   = save.hasLeftSidewalk;
            hasRightSideWalk  = save.hasRightSidewalk;
            leftSidewalkSize  = save.leftSidewalkSize;
            rightSidewalkSize = save.rightSidewalkSize;

            bbox = _terrain.scenebbox;

            streetLampList = new List <Object3D>();
            generateInitial3Dway(_terrain);
            //colliderMesh = generateColliderMesh();

            highwayGameObject = new GameObject("Highway" + way.id, typeof(MeshRenderer), typeof(MeshFilter), typeof(MeshCollider));
            highwayGameObject.transform.localScale = new Vector3(1, 1, 1);


            if (type != highwayType.River)
            {
                highwayGameObject.tag = "Highway";
            }
        }
Esempio n. 2
0
        //Gets the ExtraHeight for Compensate floating Point Precision Error while draping highway into terrain
        private float getExtraHeight(highwayType type)
        {
            switch (type)
            {
            case highwayType.River:
                return(0.18f);

            case highwayType.Railway:
                return(0.25f);

            case highwayType.HighwayService:
                return(0.20f);

            default:
                return(0.19f);
            }
        }
        //Highway Constructor
        public Highway(Way w, List<HighwayConfigurations> config, myTerrain _terrain)
        {
            id = w.id;
            way = w;
            type = getHighwayType(w.tags);
            name = getHighwayName(w.tags);

            if (type == highwayType.HighwayFootway)
                return;

            getConfiguration(config);
            bbox = _terrain.scenebbox;

            streetLampList = new List<Object3D>();
            generateInitial3Dway(_terrain);
            //colliderMesh = generateColliderMesh();

            highwayGameObject = new GameObject("Highway" + way.id, typeof(MeshRenderer), typeof(MeshFilter), typeof(MeshCollider));
            highwayGameObject.transform.localScale = new Vector3(1, 1, 1);

            if(type != highwayType.River)
                highwayGameObject.tag = "Highway";
        }
 //Gets the ExtraHeight for Compensate floating Point Precision Error while draping highway into terrain
 private float getExtraHeight(highwayType type)
 {
     switch(type)
     {
         case highwayType.River :
             return 0.18f;
         case highwayType.Railway :
             return 0.25f;
         case highwayType.HighwayService:
             return 0.20f;
         default:
             return 0.19f;
     }
 }