Есть движущаяся платформа, она двигается из стороны в сторону от одной точки к другой, нужно чтобы она после приезда на точку ждала по таймеру несколько секунд, я не пойму где нужно перезадавать таймер :C
Вот код который ей управляет
private void DelayedMoveBetwenTwoPoints(){
if(platform.transform.position == startPoint.position){
nextPosition = endPoint.position;
}else if(platform.transform.position == endPoint.position){
nextPosition = startPoint.position;
}
MoveWithDelay(nextPosition);
}
Вот функция MoveWithDelay
private void MoveWithDelay(Vector3 destination){
_timer.startTimer = true;
if(_timer.timer <=0){
MoveTo(destination);
}
}
И MoveTo
private void MoveTo(Vector3 destination){
platform.transform.position = Vector3.MoveTowards(platform.transform.position,destination, Time.deltaTime * travelTime);
}
А так же таймер(Он находится в отдельном скрипте)
public class Timer : MonoBehaviour
{
public bool startTimer = false;
public float delay = 10;
public float timer;
void Start(){
timer = delay;
}
void Update()
{
if(startTimer == true){
timer = timer - Time.deltaTime;
Debug.Log(timer);
if(timer <=0){
startTimer = false;
}
}
}
}