Beispiel #1
0
    void Serve()
    {
        ball.gameObject.GetComponent <Ball>().Freeze(false);
        float dist = Vector3.Distance(ball.transform.position, transform.position);

        if (dist <= hitThreshold)
        {
            ball.transform.position = racket.transform.position;

            BallHitter.Side side;
            float           sideR = UnityEngine.Random.value;
            if (sideR < 0.33)
            {
                side = BallHitter.Side.Left;
            }
            else if (sideR < 0.66)
            {
                side = BallHitter.Side.Center;
            }
            else
            {
                side = BallHitter.Side.Right;
            }

            Vector3 hit = ballHitter.serve(side, serveSide, difficulty)[1];
            ballRb.velocity = hit;
            MatchManager.Instance.SetLastHit(2, Vector3.zero);
            audioClipHitBall.Play();
        }
    }
    void Serve()
    {
        ball.gameObject.GetComponent <Ball>().Freeze(false);
        float dist = Vector3.Distance(ball.transform.position, transform.position);

        if (dist <= hitThreshold && hitCounter <= 0)
        {
            ball.transform.position = racket.transform.position;
            List <Vector3> ret = ballHitter.serve(hitSide, serveSide, accuracy);
            ballRb.velocity = ret[1];
            if (gameObject.tag == "Player")
            {
                MatchManager.Instance.SetLastHit(1, ret[0]);
            }
            else if (gameObject.tag == "Player2")
            {
                MatchManager.Instance.SetLastHit(2, ret[0]);
            }
            audioClipHitBall.Play();
        }
    }