Пример #1
0
 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());
 }
Пример #2
0
    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());
        }
    }