void LateUpdate()
{
if (Input.GetMouseButtonUp(0))
{
InitialPosition = mouse.transform.position;
StartCoroutine(Punch(mouse.transform.position));
StopCoroutine(Punch());
}
}
IEnumerator Punch(Vector3 position)
{
while (PunchController.transform.position != position)
{
PunchController.transform.position = Vector3.MoveTowards(PunchController.transform.position, position,1f);
print("hola");
yield return null;
}
StartCoroutine(Punch(InitialPosition));
}
Pasale un parámetro a la corrutina que sea la posición, y esta la cambias cuantas veces desees, siendo en un principio mouse.position y al final initialPosition.