// Start is called before the first frame update
    new void Start()
    {
        base.Start();

        spriteRenderer = GetComponent <SpriteRenderer>();
        trail          = GetComponent <TrailRenderer>();

        spriteRenderer.color = Color.white;
        lastTouchedPaddle    = null;
        baseSpeed            = speed;
    }
Exemple #2
0
 public void ChangePaddleScale(float modifier, int duration, bool onLeft)
 {
     if (IsServer)
     {
         PowerupPongPaddle paddle = onLeft ? leftPaddle.GetComponent <PowerupPongPaddle>() : rightPaddle.GetComponent <PowerupPongPaddle>();
         if (paddle.IsBot())
         {
             paddle.ChangePaddleScaleOnClient(modifier, duration);
         }
         paddle.InvokeClientRpcOnEveryone(paddle.ChangePaddleScaleOnClient, modifier, duration);
     }
     else
     {
         InvokeServerRpc(ChangePaddleScale, modifier, duration, onLeft);
     }
 }
    // Custom collision logic
    protected override void OnCollisionEnter2D(Collision2D collision)
    {
        base.OnCollisionEnter2D(collision);

        if (IsServer)
        {
            // Collision with Paddle
            if (collision.transform.tag == "Paddle")
            {
                // Transform into the color of the last touched paddle
                spriteRenderer.color = collision.transform.GetComponent <SpriteRenderer>().color;
                lastTouchedPaddle    = collision.transform.GetComponent <PowerupPongPaddle>();

                InvokeClientRpcOnEveryone(UpdateColorOnClients, spriteRenderer.color);
            }
        }
    }
Exemple #4
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (IsServer)
     {
         if (collision.tag == "Ball")
         {
             PowerupPongPaddle lastTouchedPaddle = collision.GetComponent <PowerupPongBall>().lastTouchedPaddle;
             if (lastTouchedPaddle != null)
             {
                 if (lastTouchedPaddle.givePowerup(power))
                 {
                     // If powerup was given to paddle, deactivate powerup object
                     GetComponent <NetworkedObject>().UnSpawn();
                     Destroy(gameObject);
                 }
             }
         }
     }
 }