void Update()
{
if (!isInPause)
{
currentTime += (1.0f / timeToNextNodes[currentIndex]) * Time.deltaTime;
if (currentTime >= 1.0f)
{
if (currentIndex + 1 >= cameraNodes.Count)
{
startPos = cameraNodes[cameraNodes.Count - 1].transform.position;
startRot = cameraNodes[cameraNodes.Count - 1].transform.rotation;
currentIndex = 0;
if (timeToPauseAtNode[currentIndex] > 0.0f) isInPause = true;
}
else
{
startPos = cameraNodes[currentIndex].transform.position;
startRot = cameraNodes[currentIndex].transform.rotation;
currentIndex++;
if (timeToPauseAtNode[currentIndex] > 0.0f) isInPause = true;
}
currentTime = 0.0f;
}
else
{
gameObject.transform.position = Vector3.Lerp(startPos, cameraNodes[currentIndex].transform.position, currentTime);
gameObject.transform.rotation = Quaternion.Lerp(startRot, cameraNodes[currentIndex].transform.rotation, currentTime);
}
}
else
{
currentTime += Time.deltaTime;
if (currentTime >= timeToPauseAtNode[currentIndex]) { isInPause = false; currentTime = 0.0f; }
}
}