Files
2026-01-27 13:33:33 +03:00

41 lines
1.2 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace Code.Track
{
public class TrackData
{
public List<Vector3> Waypoints { get; }
public Vector3 StartPosition { get; }
public Quaternion StartRotation { get; }
public Vector3 FinishPosition { get; }
public Quaternion FinishRotation { get; }
public TrackData(List<Vector3> waypoints)
{
Waypoints = new List<Vector3>(waypoints);
StartPosition = waypoints[0];
FinishPosition = waypoints[^1];
if (waypoints.Count > 1)
{
var startDir = (waypoints[1] - waypoints[0]).normalized;
StartRotation = Quaternion.LookRotation(startDir, Vector3.up);
}
else
{
StartRotation = Quaternion.identity;
}
if (waypoints.Count > 1)
{
var finishDir = (waypoints[^1] - waypoints[^2]).normalized;
FinishRotation = Quaternion.LookRotation(finishDir, Vector3.up);
}
else
{
FinishRotation = Quaternion.identity;
}
}
}
}