Проблема с корутином
В общем я делаю врага, который вылезает из платформы и залезает туда обратно(своеобразная движущаяся "платформа"). После того как он залез, мне нужно чтобы он вылез снова через определенное время. Для этого я использовал корутин и выставил ожидание в 2 секунды. Теперь враг действительно ждет 2 секунды, перед тем как вылезти, но это также распространилось и на то состояние, когда он полностью вылез
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TentacleController : MonoBehaviour{
[SerializeField] private Transform pos1, pos2;
[SerializeField] private float speed;
[SerializeField] private Transform startPos;
private Vector3 nextPos;
private void Start()
{
nextPos = startPos.position;
}
void Update()
{
if (transform.position == pos1.position)
{
StartCoroutine(Pos1());
}
if (transform.position == pos2.position)
{
nextPos = pos1.position;
}
transform.position = Vector3.MoveTowards(transform.position, nextPos, speed * Time.deltaTime);
print(nextPos);
}
public IEnumerator Pos1()
{
yield return new WaitForSeconds(2f);
nextPos = pos2.position;
}
}
То есть он задерживается еще и в этом состоянии
