// Use this for initialization void Start() { completeRenderer.DestryMesh(); DiscreteInt2Generator.param_AnglePeriod = param_AnglePeriod; DiscreteInt2Generator.param_AngleAmplitude = param_AngleAmplitude; DiscreteInt2Generator.param_AngleAmplitude = param_AngleAmplitude; DiscreteInt2Generator.param_RadiusPeriod = param_RadiusPeriod; DiscreteInt2Generator.param_RadiusAmplitude = param_RadiusAmplitude; DiscreteInt2Generator.param_RadiusOffset = param_RadiusOffset; DiscreteInt2Generator.param_SegDecMin = param_SegDecMin; DiscreteInt2Generator.param_SegDecMax = param_SegDecMax; DiscreteInt2Generator.param_SegDecPeriod = param_SegDecPeriod; DiscreteInt2Generator.generationMode = generationMode; //DiscreteInt2Generator.param_Circles = param_Circles; //DiscreteInt2Generator.param_Circles_Radius = param_Circles_Radius; //DiscreteInt2Generator.param_Circles_Use = param_Circles_UseCustom; if (circlesGeneration.CirclesMidpoints.Length == 0) { circlesGeneration.DoProc(seed, param_goalLength); } DiscreteInt2Generator.param_Circles = new Vector2[circlesGeneration.CirclesMidpoints.Length]; DiscreteInt2Generator.param_Circles_Ins = new Vector2[circlesGeneration.CirclesMidpoints.Length]; DiscreteInt2Generator.param_Circles_Outs = new Vector2[circlesGeneration.CirclesMidpoints.Length]; DiscreteInt2Generator.param_Circles_Radius = new float[circlesGeneration.CirclesMidpoints.Length]; DiscreteInt2Generator.param_Circles_Clockwise = new bool[circlesGeneration.CirclesMidpoints.Length]; DiscreteInt2Generator.param_BetwLB = circlesGeneration.BetwLBs; DiscreteInt2Generator.param_BetwLT = circlesGeneration.BetwLTs; DiscreteInt2Generator.param_BetwRB = circlesGeneration.BetwRBs; DiscreteInt2Generator.param_BetwRT = circlesGeneration.BetwRTs; DiscreteInt2Generator.param_Circles_Use = circlesGeneration.CirclesMidpoints.Length > 0; for (int i = 0; i < circlesGeneration.CirclesMidpoints.Length; i++) { if (circlesGeneration.CirclesMidpoints[i].x != 0f && circlesGeneration.CirclesMidpoints[i].z != 0f) { DiscreteInt2Generator.param_Circles_Use = true; } DiscreteInt2Generator.param_Circles[i] = new Vector2(circlesGeneration.CirclesMidpoints[i].x, circlesGeneration.CirclesMidpoints[i].z); DiscreteInt2Generator.param_Circles_Ins[i] = new Vector2(circlesGeneration.CirclesIns[i].x, circlesGeneration.CirclesIns[i].z); DiscreteInt2Generator.param_Circles_Outs[i] = new Vector2(circlesGeneration.CirclesOuts[i].x, circlesGeneration.CirclesOuts[i].z); DiscreteInt2Generator.param_Circles_Radius[i] = circlesGeneration.CirclesRadius[i]; DiscreteInt2Generator.param_Circles_Clockwise[i] = circlesGeneration.CirclesClockwise[i]; } if (terrainModifier == null) { terrainModifier = new TerrainModifier(terrain); } meshFilter = GetComponent <MeshFilter>(); meshCollider = GetComponent <MeshCollider>(); if (jobGenerateTrack != null && jobGenerateTrack.IsDone == false) { jobGenerateTrack.Abort(); jobGenerateTrack = null; } if (jobGenerateTrack == null || jobGenerateTrack.IsDone) { jobGenerateTrack = new JobGenerateTrack(); if (firstStart) { firstStart = false; jobGenerateTrack.Seed = 58528152; } else { jobGenerateTrack.Seed = seed; } jobGenerateTrack.Width = width; jobGenerateTrack.Suppliers = supplyers; jobGenerateTrack.Terrain = terrain; jobGenerateTrack.TerrainModifier = terrainModifier; //jobGenerateTrack.Track = DiscreteInt2Generator.GenerateTrack(10f, width, Seed); jobGenerateTrack.Start(); } }