36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
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<AICarController>().SetRoute(_currentTrack.Waypoints.ToArray());
|
|
}
|
|
}
|
|
}
|
|
} |