public void Score(Paddle.Side side)
    {
        if (side == Paddle.Side.Left)
        {
            leftScore++;
        }
        else if (side == Paddle.Side.Right)
        {
            rightScore++;
        }

        uiManager.UpdateScoreText(leftScore, rightScore);

        serveSide = side;

        if (IsGameOver())
        {
            if (inMenu)
            {
                ResetGame();

                leftScore = rightScore = 0;
            }
            else
            {
                ball.gameObject.SetActive(false);

                uiManager.ShowGameOver(side);
            }
        }
        else
        {
            ResetGame();
        }
    }
Beispiel #2
0
        protected virtual void OnScored(Paddle.Side _side, Ball ball)
        {
            EventHandler <ScoreEventArgs> handler = Scored;

            if (handler != null)
            {
                handler(this, new ScoreEventArgs(_side, ball));
            }
        }
    public void ShowGameOver(Paddle.Side side)
    {
        gameOverUI.FadeIn(false);

        if (side == Paddle.Side.Left)
        {
            winnerText.text = "Player 1";
        }
        else if (side == Paddle.Side.Right)
        {
            winnerText.text = "Player 2";
        }
    }
Beispiel #4
0
    private void Serve(Paddle.Side side)
    {
        Vector2 serveDirection = new Vector2(Mathf.Cos(serveAngle * Mathf.Deg2Rad), Mathf.Sin(serveAngle * Mathf.Deg2Rad));

        serveDirection.y = -serveDirection.y;

        if (side == Paddle.Side.Left)
        {
            serveDirection.x = -serveDirection.x;
        }

        velocity = serveDirection * moveSpeed;
    }
Beispiel #5
0
    private IEnumerator ResetRoutine(Paddle.Side side)
    {
        transform.position = Vector2.zero;

        rb.velocity = Vector2.zero;

        overridePosition = true;

        yield return(new WaitForSeconds(resetTime));

        overridePosition = false;

        Serve(side);
    }
Beispiel #6
0
 public ScoreEventArgs(Paddle.Side side, Ball ball)
 {
     Side = side;
     Ball = ball;
 }
        public void AddPaddle(Paddle.Side _side, bool isComputerControlled, int kinectUserId)
        {
            var x = new Paddle(_side, isComputerControlled, kinectUserId);

            Paddles.Add(x);
        }
Beispiel #8
0
 public void Reset(Paddle.Side side)
 {
     StartCoroutine(ResetRoutine(side));
 }