using Code.Gameplay; using Code.Track; using UnityEngine; namespace Code.UI { public class GameplayController : MonoBehaviour { [SerializeField] private TrackBuilder trackBuilder; [SerializeField] private Transform playerSpawn; [SerializeField] private Transform finishTrigger; [SerializeField] private AICarController[] aiCars; private TrackData _currentTrack; private void Start() { var seed = Random.Range(0, 10000); _currentTrack = TrackGenerator.Generate(seed, 500, segmentCount: 30); trackBuilder.Build(_currentTrack); playerSpawn.position = _currentTrack.StartPosition; playerSpawn.rotation = _currentTrack.StartRotation; finishTrigger.position = _currentTrack.FinishPosition; finishTrigger.rotation = _currentTrack.FinishRotation; foreach (var aiCar in aiCars) { aiCar.transform.position = _currentTrack.Waypoints[0] + Random.insideUnitSphere * 2f; aiCar.GetComponent().SetRoute(_currentTrack.Waypoints.ToArray()); } } } }