public override void prepare(TrackSegment4 trackSegment, GameObject putMeshOnGO) { base.prepare(trackSegment, putMeshOnGO); putMeshOnGO.GetComponent <Renderer>().sharedMaterial = this.material; this.leftRailExtruder = new BoxExtruder(railSize, railSize); this.leftRailExtruder.setUV(15, 14); this.rightRailExtruder = new BoxExtruder(railSize, railSize); this.rightRailExtruder.setUV(15, 14); SupportBeamExtruder = new BoxExtruder(SupoortBeamSize, SupoortBeamSize); SupportBeamExtruder.setUV(14, 15); SupportBeamExtruder.closeEnds = true; SupportBottomBeamExtruder = new BoxExtruder(SupoortBeamSize * 2.0f, SupoortBeamSize); SupportBottomBeamExtruder.setUV(14, 15); SupportBottomBeamExtruder.closeEnds = true; TrackBeamExtruder = new BoxExtruder[4]; TrackBeamExtruder [0] = new BoxExtruder(.145123f, railSize); TrackBeamExtruder [1] = new BoxExtruder(0.0448f, railSize); TrackBeamExtruder [2] = new BoxExtruder(0.125123f, railSize); TrackBeamExtruder [3] = new BoxExtruder(0.09f, railSize); for (int x = 0; x < 4; x++) { TrackBeamExtruder [x].setUV(15, 15); TrackBeamExtruder [x].closeEnds = true; } this.collisionMeshExtruder = new BoxExtruder(base.trackWidth, 0.022835f); this.buildVolumeMeshExtruder = new BoxExtruder(base.trackWidth, 0.7f); this.buildVolumeMeshExtruder.closeEnds = true; }
public override void prepare(TrackSegment4 trackSegment, GameObject putMeshOnGO) { base.prepare(trackSegment, putMeshOnGO); liftExtruder1 = null; if (trackSegment.isLifthill && (trackSegment is ChangeHeight4 || trackSegment.getStartpoint().y != trackSegment.getEndpoint().y || (UnityEngine.Object)frictionWheelsGO == (UnityEngine.Object)null)) { liftExtruder1 = instantiateLiftExtruder(trackSegment); } putMeshOnGO.GetComponent <Renderer>().sharedMaterial = base.material; centerTubeExtruder = new TubeExtruder(centerTubeRadius, centerTubeVertCount); centerTubeExtruder.setUV(14, 15); centerTubeExtruder.closeEnds = true; centerBoxExtruder = new BoxExtruder(centerTubeRadius * 2f, centerTubeRadius * 2f); centerBoxExtruder.setUV(14, 15); centerBoxExtruder.closeEnds = true; leftTubeExtruder = new TubeExtruder(sideTubesRadius, sideTubesVertCount); leftTubeExtruder.setUV(15, 14); rightTubeExtruder = new TubeExtruder(sideTubesRadius, sideTubesVertCount); rightTubeExtruder.setUV(15, 14); centerCrossTubeExtruder = new ResizableTubeExtruder(1f, centerTubeVertCount); centerCrossTubeExtruder.setUV(14, 15); centerCrossTubeExtruder.closeEnds = true; sideCrossTubeExtruder = new ResizableTubeExtruder(1f, centerTubeVertCount); sideCrossTubeExtruder.setUV(15, 14); crossBoxExtruder = new BoxExtruder(sideTubesRadius * 2f, sideTubesRadius * 1.8f); crossBoxExtruder.setUV(14, 14); collisionMeshExtruder = new BoxExtruder(base.trackWidth, 0.02665f); base.buildVolumeMeshExtruder = new BoxExtruder(base.trackWidth, 0.8f); base.buildVolumeMeshExtruder.closeEnds = true; base.setModelExtruders(centerTubeExtruder, leftTubeExtruder, rightTubeExtruder); }
protected override void build() { base.boundingVolumes.AddRange(base.GetComponentsInChildren <BoundingVolume>()); base.transform.position = base.origin; Vector3 tangent = base.tangent; tangent.y = 0f; base.transform.forward = tangent; woodenVerticalSupportPostExtruder = new BoxExtruder(0.043f, 0.043f); woodenVerticalSupportPostExtruder.closeEnds = true; woodenVerticalSupportPostExtruder.setUV(14, 14); concreteVerticalSupportFooterExtruder = new BoxExtruder(0.15f, 0.15f); concreteVerticalSupportFooterExtruder.closeEnds = true; concreteVerticalSupportFooterExtruder.setUV(0, 8); woodenHorizontalSupportPostExtruder = new BoxExtruder(0.03f, 0.06f); woodenHorizontalSupportPostExtruder.closeEnds = true; woodenHorizontalSupportPostExtruder.setUV(14, 14); render(); }
public override void prepare(TrackSegment4 trackSegment, GameObject putMeshOnGO) { base.prepare(trackSegment, putMeshOnGO); putMeshOnGO.GetComponent <Renderer>().sharedMaterial = material; trackBase = new BoxExtruder(.7172f, .0292f); trackBase.setUV(15, 15); leftRail = new BoxExtruder(.06718f, .05529f); rightRail = new BoxExtruder(.06718f, .05529f); leftRail.setUV(14, 15); rightRail.setUV(14, 15); leftRailInner = new BoxExtruder(.005535f, .04158f); rightRailInner = new BoxExtruder(.005535f, .04158f); leftRailInner.setUV(15, 14); rightRailInner.setUV(15, 14); collisionMeshExtruder = new BoxExtruder(trackWidth, 0.022835f); buildVolumeMeshExtruder = new BoxExtruder(trackWidth, 0.7f); buildVolumeMeshExtruder.closeEnds = true; }
public override void prepare(TrackSegment4 trackSegment, GameObject putMeshOnGO) { base.prepare(trackSegment, putMeshOnGO); putMeshOnGO.GetComponent <Renderer>().sharedMaterial = material; topperLeftRailExtruder = new ShapeExtruder(); topperLeftRailExtruder.setShape(new Vector3[8] { new Vector3(0.053846f, -0.002f, 0f), new Vector3(0.053846f, -0.026f, 0f), new Vector3(0.051846f, -0.028f, 0f), new Vector3(-0.027029f, -0.028f, 0f), new Vector3(-0.027029f, -0.0065f, 0f), new Vector3(-0.048772f, -0.0065f, 0f), new Vector3(-0.048772f, 0f, 0f), new Vector3(0.051845f, 0f, 0f) }, true); topperLeftRailExtruder.setUV(15, 15); topperRightRailExtruder = new ShapeExtruder(); topperRightRailExtruder.setShape(new Vector3[8] { new Vector3(0.048772f, -0.0065f, 0f), new Vector3(0.027029f, -0.0065f, 0f), new Vector3(0.027028f, -0.028f, 0f), new Vector3(-0.051846f, -0.028f, 0f), new Vector3(-0.053845f, -0.026f, 0f), new Vector3(-0.053846f, -0.002f, 0f), new Vector3(-0.051845f, 0f, 0f), new Vector3(0.048772f, 0f, 0f) }, true); topperRightRailExtruder.setUV(14, 15); topperLeftPlankExtruder_1 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_1.setUV(14, 14); topperLeftPlankExtruder_2 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_2.setUV(14, 14); topperLeftPlankExtruder_3 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_3.setUV(14, 14); topperLeftPlankExtruder_4 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_4.setUV(14, 14); topperLeftPlankExtruder_5 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_5.setUV(14, 14); topperLeftPlankExtruder_6 = new BoxExtruder(0.054058f, 0.013286f); topperLeftPlankExtruder_6.setUV(14, 14); topperRightPlankExtruder_1 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_1.setUV(14, 14); topperRightPlankExtruder_2 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_2.setUV(14, 14); topperRightPlankExtruder_3 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_3.setUV(14, 14); topperRightPlankExtruder_4 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_4.setUV(14, 14); topperRightPlankExtruder_5 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_5.setUV(14, 14); topperRightPlankExtruder_6 = new BoxExtruder(0.054058f, 0.013286f); topperRightPlankExtruder_6.setUV(14, 14); iboxLeftRailExtruder = new ShapeExtruder(); iboxLeftRailExtruder.setShape(new Vector3[14] { new Vector3(0.046103f, 0f, 0f), new Vector3(0.048103f, -0.002f, 0f), new Vector3(0.048103f, -0.026f, 0f), new Vector3(0.046103f, -0.028f, 0f), new Vector3(0.021286f, -0.028f, 0f), new Vector3(0.021286f, -0.1144f, 0f), new Vector3(0.048772f, -0.1144f, 0f), new Vector3(0.048772f, -0.119108f, 0f), new Vector3(-0.054515f, -0.119108f, 0f), new Vector3(-0.054515f, -0.1144f, 0f), new Vector3(-0.032771f, -0.1144f, 0f), new Vector3(-0.032771f, -0.0065f, 0f), new Vector3(-0.054515f, -0.0065f, 0f), new Vector3(-0.054515f, 0f, 0f) }, true); iboxLeftRailExtruder.setUV(15, 15); iboxRightRailExtruder = new ShapeExtruder(); iboxRightRailExtruder.setShape(new Vector3[14] { new Vector3(0.054515f, 0f, 0f), new Vector3(0.054515f, -0.0065f, 0f), new Vector3(0.032771f, -0.0065f, 0f), new Vector3(0.032771f, -0.1144f, 0f), new Vector3(0.054515f, -0.1144f, 0f), new Vector3(0.054515f, -0.119108f, 0f), new Vector3(-0.048772f, -0.119108f, 0f), new Vector3(-0.048772f, -0.1144f, 0f), new Vector3(-0.021286f, -0.1144f, 0f), new Vector3(-0.021286f, -0.028f, 0f), new Vector3(-0.046103f, -0.028f, 0f), new Vector3(-0.048103f, -0.026f, 0f), new Vector3(-0.048103f, -0.002f, 0f), new Vector3(-0.046103f, 0f, 0f) }, true); iboxRightRailExtruder.setUV(14, 15); metalFrontCrossTieExtruder_1 = new ShapeExtruder(); metalFrontCrossTieExtruder_1.setShape(new Vector3[4] { new Vector3(0.022f, 0.04f, 0f), new Vector3(0.046f, 0.04f, 0f), new Vector3(0.046f, 0.035f, 0f), new Vector3(0.03f, 0.035f, 0f) }, true); metalFrontCrossTieExtruder_1.setUV(15, 14); metalFrontCrossTieExtruder_1.closeEnds = true; metalFrontCrossTieExtruder_2 = new ShapeExtruder(); metalFrontCrossTieExtruder_2.setShape(new Vector3[4] { new Vector3(0.03f, 0.035f, 0f), new Vector3(0.03f, -0.035f, 0f), new Vector3(0.022f, -0.04f, 0f), new Vector3(0.022f, 0.04f, 0f) }, true); metalFrontCrossTieExtruder_2.setUV(15, 14); metalFrontCrossTieExtruder_2.closeEnds = true; metalFrontCrossTieExtruder_3 = new ShapeExtruder(); metalFrontCrossTieExtruder_3.setShape(new Vector3[4] { new Vector3(0.03f, -0.035f, 0f), new Vector3(0.046f, -0.035f, 0f), new Vector3(0.046f, -0.04f, 0f), new Vector3(0.022f, -0.04f, 0f) }, true); metalFrontCrossTieExtruder_3.setUV(15, 14); metalFrontCrossTieExtruder_3.closeEnds = true; metalRearCrossTieExtruder_1 = new ShapeExtruder(); metalRearCrossTieExtruder_1.setShape(new Vector3[4] { new Vector3(-0.046f, 0.04f, 0f), new Vector3(-0.022f, 0.04f, 0f), new Vector3(-0.03f, 0.035f, 0f), new Vector3(-0.046f, 0.035f, 0f) }, true); metalRearCrossTieExtruder_1.setUV(15, 14); metalRearCrossTieExtruder_1.closeEnds = true; metalRearCrossTieExtruder_2 = new ShapeExtruder(); metalRearCrossTieExtruder_2.setShape(new Vector3[4] { new Vector3(-0.046f, -0.035f, 0f), new Vector3(-0.03f, -0.035f, 0f), new Vector3(-0.022f, -0.04f, 0f), new Vector3(-0.046f, -0.04f, 0f) }, true); metalRearCrossTieExtruder_2.setUV(15, 14); metalRearCrossTieExtruder_2.closeEnds = true; metalRearCrossTieExtruder_3 = new ShapeExtruder(); metalRearCrossTieExtruder_3.setShape(new Vector3[4] { new Vector3(-0.022f, 0.04f, 0f), new Vector3(-0.022f, -0.04f, 0f), new Vector3(-0.03f, -0.035f, 0f), new Vector3(-0.03f, 0.035f, 0f) }, true); metalRearCrossTieExtruder_3.setUV(15, 14); metalRearCrossTieExtruder_3.closeEnds = true; metalIBeamExtruder_1 = new ShapeExtruder(); metalIBeamExtruder_1.setShape(new Vector3[4] { new Vector3(-0.021f, 0.04f, 0f), new Vector3(0.021f, 0.04f, 0f), new Vector3(0.021f, 0.035f, 0f), new Vector3(-0.021f, 0.035f, 0f) }, true); metalIBeamExtruder_1.setUV(15, 14); metalIBeamExtruder_1.closeEnds = true; metalIBeamExtruder_2 = new ShapeExtruder(); metalIBeamExtruder_2.setShape(new Vector3[4] { new Vector3(-0.005f, 0.037f, 0f), new Vector3(0.005f, 0.037f, 0f), new Vector3(0.005f, -0.037f, 0f), new Vector3(-0.005f, -0.037f, 0f) }, true); metalIBeamExtruder_2.setUV(15, 14); metalIBeamExtruder_2.closeEnds = true; metalIBeamExtruder_3 = new ShapeExtruder(); metalIBeamExtruder_3.setShape(new Vector3[4] { new Vector3(-0.021f, -0.035f, 0f), new Vector3(0.021f, -0.035f, 0f), new Vector3(0.021f, -0.04f, 0f), new Vector3(-0.021f, -0.04f, 0f) }, true); metalIBeamExtruder_3.setUV(15, 14); metalIBeamExtruder_3.closeEnds = true; metalTopperCrossTie_1 = new ShapeExtruder(); metalTopperCrossTie_1.setShape(new Vector3[4] { new Vector3(-0.030167f, -0.12228f, 0f), new Vector3(-0.002167f, -0.12228f, 0f), new Vector3(-0.000001f, -0.120113f, 0f), new Vector3(-0.030167f, -0.120113f, 0f) }, true); metalTopperCrossTie_1.setUV(15, 14); metalTopperCrossTie_1.closeEnds = true; metalTopperCrossTie_2 = new ShapeExtruder(); metalTopperCrossTie_2.setShape(new Vector3[4] { new Vector3(-0.002167f, -0.12228f, 0f), new Vector3(-0.002167f, -0.150113f, 0f), new Vector3(-0.000001f, -0.150113f, 0f), new Vector3(-0.000001f, -0.120113f, 0f) }, true); metalTopperCrossTie_2.setUV(15, 14); metalTopperCrossTie_2.closeEnds = true; metalTopperCrossTie_3 = new ShapeExtruder(); metalTopperCrossTie_3.setShape(new Vector3[4] { new Vector3(0.000001f, 0.290799f, 0f), new Vector3(0.030166f, 0.290799f, 0f), new Vector3(0.030166f, 0.288799f, 0f), new Vector3(0.002166f, 0.288799f, 0f) }, true); metalTopperCrossTie_3.setUV(15, 14); metalTopperCrossTie_3.closeEnds = true; metalTopperCrossTie_4 = new ShapeExtruder(); metalTopperCrossTie_4.setShape(new Vector3[4] { new Vector3(0.000001f, 0.290799f, 0f), new Vector3(0.002166f, 0.288799f, 0f), new Vector3(0.002166f, 0.250466f, 0f), new Vector3(0.000001f, 0.250466f, 0f) }, true); metalTopperCrossTie_4.setUV(15, 14); metalTopperCrossTie_4.closeEnds = true; metalTopperCrossTie_5 = new ShapeExtruder(); metalTopperCrossTie_5.setShape(new Vector3[4] { new Vector3(0f, -0.250868f, 0f), new Vector3(0.002166f, -0.250868f, 0f), new Vector3(0.002166f, -0.289201f, 0f), new Vector3(0f, -0.291201f, 0f) }, true); metalTopperCrossTie_5.setUV(15, 14); metalTopperCrossTie_5.closeEnds = true; metalTopperCrossTie_6 = new ShapeExtruder(); metalTopperCrossTie_6.setShape(new Vector3[4] { new Vector3(0.002166f, -0.289201f, 0f), new Vector3(0.030166f, -0.289201f, 0f), new Vector3(0.030166f, -0.291201f, 0f), new Vector3(0f, -0.291201f, 0f) }, true); metalTopperCrossTie_6.setUV(15, 14); metalTopperCrossTie_6.closeEnds = true; metalTopperCrossTie_7 = new ShapeExtruder(); metalTopperCrossTie_7.setShape(new Vector3[5] { new Vector3(-0.275188f, -0.006497f, 0f), new Vector3(-0.275188f, -0.042196f, 0f), new Vector3(-0.250868f, -0.042196f, 0f), new Vector3(-0.241076f, -0.02686f, 0f), new Vector3(-0.241076f, -0.006497f, 0f) }, true); metalTopperCrossTie_7.setUV(14, 15); metalTopperCrossTie_7.closeEnds = true; metalTopperCrossTie_8 = new ShapeExtruder(); metalTopperCrossTie_8.setShape(new Vector3[5] { new Vector3(-0.275188f, -0.006497f, 0f), new Vector3(-0.275188f, -0.042196f, 0f), new Vector3(-0.250868f, -0.042196f, 0f), new Vector3(-0.241076f, -0.02686f, 0f), new Vector3(-0.241076f, -0.006497f, 0f) }, true); metalTopperCrossTie_8.setUV(15, 15); metalTopperCrossTie_8.closeEnds = true; collisionMeshExtruder = new BoxExtruder(trackWidth, 0.02666f); buildVolumeMeshExtruder = new BoxExtruder(beamWidth, beamWidth); customBuildVolumeMeshExtruder = new BoxExtruder(0.1f, 0.1f); customBuildVolumeMeshExtruder.closeEnds = true; woodenVerticalSupportPostExtruder = new BoxExtruder(0.043f, 0.043f); woodenVerticalSupportPostExtruder.closeEnds = true; woodenVerticalSupportPostExtruder.setUV(14, 14); base.setModelExtruders(topperLeftPlankExtruder_1, topperLeftPlankExtruder_2, topperLeftPlankExtruder_3, topperLeftPlankExtruder_4, topperLeftPlankExtruder_5, topperLeftPlankExtruder_6, topperRightPlankExtruder_1, topperRightPlankExtruder_2, topperRightPlankExtruder_3, topperRightPlankExtruder_4, topperRightPlankExtruder_5, topperRightPlankExtruder_6, woodenVerticalSupportPostExtruder); }