コード例 #1
0
    public IEnumerator MoveOneStepForwardCoroutine(PlayerSphereBehaviour atackBall)
    {
        //  Debug.Log("MoveOneStepForwardCoroutine run");

        while (true)
        {
            yield return(null);

            if (atackBall == null)              //Якщо якимось чином куля знищена до break
            {
                EndOneStepCorProc();
                yield break;
            }

            if ((Vector3.Distance(atackBall.gameObject.transform.position, transform.position) >= (radius * 1.95f) &&
                 !atackBall.isRotableBall))
            {
                EndOneStepCorProc();
                yield break;
            }
        }
    }
コード例 #2
0
 public void MoveOneStepForward(PlayerSphereBehaviour atackBall) //Coroutine запускається з метода, що б не створювати булеву змінну для виконання початкового коду тільки один раз
 {
     //  Speed = 5.0f;
     MoveForwardBall(Speed > 4.0?10.0f:6.0f, 1, false);
     StartCoroutine(MoveOneStepForwardCoroutine(atackBall));
 }