added start and finish flags
This commit is contained in:
1 parent
ee223cabfd
commit
01ce057601
5 files changed
+385
-4
No files matched your search
@@ -9,13 +9,33 @@ namespace Code.Track
|
||||
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];
|
||||
StartRotation = Quaternion.LookRotation(waypoints[1] - 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace Code.UI
|
||||
private void Start()
|
||||
{
|
||||
var seed = Random.Range(0, 10000);
|
||||
_currentTrack = TrackGenerator.Generate(seed, 1000, segmentCount: 30);
|
||||
_currentTrack = TrackGenerator.Generate(seed, 2000, segmentCount: 30);
|
||||
|
||||
trackBuilder.Build(_currentTrack);
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace Code.UI
|
||||
playerSpawn.rotation = _currentTrack.StartRotation;
|
||||
|
||||
finishTrigger.position = _currentTrack.FinishPosition;
|
||||
finishTrigger.rotation = _currentTrack.FinishRotation;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user