void Init2() { if (Vector3.Distance(DistanceIgnoreYAxis(startWayPoint.transform.position), DistanceIgnoreYAxis(transform.position)) < 0.5f) { //character.SimpleMove(direction * movedSpeed); targetWayPoint = startWayPoint.nextPoint; } else { // CheckState(PeopleSate.Walk); targetWayPoint = startWayPoint; } StartCoroutine(MoveLogic()); }
IEnumerator MoveLogic() { while (true) { Debug.Log(Vector3.Distance(DistanceIgnoreYAxis(startWayPoint.transform.position), DistanceIgnoreYAxis(transform.position))); if (Vector3.Distance(DistanceIgnoreYAxis(startWayPoint.transform.position), DistanceIgnoreYAxis(transform.position)) < 0.5f) { targetWayPoint = targetWayPoint.nextPoint; // CheckState(PeopleSate.Idle); yield return(new WaitForSeconds(2f)); } Vector3 targetPosIgno = targetWayPoint.transform.position; targetPosIgno.y = transform.position.y; Vector3 direction = targetPosIgno - transform.position; direction = direction.normalized; transform.rotation = Quaternion.LookRotation(direction); transform.Translate(direction * Time.deltaTime * -20f); // CheckState(PeopleSate.Walk); // character.SimpleMove(direction * movedSpeed); yield return(new WaitForEndOfFrame()); } }