示例#1
0
文件: AIPlayer.cs 项目: lipusal/VJI
    // Update is called once per frame
    void Update()
    {
        if (_isServing)
        {
            if (!_playerAnimation.isCelebratingOrAngry())
            {
                if (Math.Abs(_timeToServe) < 0.01)
                {
                    _timeToServe = Random.Range(0.0f, 1.0f) + 1.0f;
                }

                _elapsedTime = _elapsedTime + Time.deltaTime;
                if (_elapsedTime >= _timeToServe)
                {
                    AimServe();
                    _elapsedTime = 0;
                    _timeToServe = 0;
                    SetServing(false);
                }
            }
        }
        else
        {
            BallLogic ballLogic = BallLogic.Instance;
            bool      hasMoved  = false;
            if (ballLogic.IsEnabled() && ballLogic.GetHittingPlayer() != _id &&
                ballLogic.GetHittingPlayer() != 0)
            {
                hasMoved = MoveToBall();
            }

            if (!hasMoved)
            {
                _playerAnimation.StartMoveAnimation(MovementDirection.IDLE);
            }
        }
    }