private void setPower(PowerupPongPowerupManager.PowerupType power) { if (this.power == PowerupPongPowerupManager.PowerupType.None) { Destroy(gameObject); } this.power = power; modifier = powerupManager.getModifier(power); duration = powerupManager.getDuration(power); spriteRenderer.sprite = powerupManager.getSprite(power); }
// Client-Side private void usePowerup() { float modifier = powerupManager.getModifier(power); int duration = powerupManager.getDuration(power); switch (power) { case PowerupPongPowerupManager.PowerupType.BallSpeedDown: gameManager.ChangeBallSpeed(modifier, duration); break; case PowerupPongPowerupManager.PowerupType.BallSpeedUp: gameManager.ChangeBallSpeed(modifier, duration); break; case PowerupPongPowerupManager.PowerupType.BallReverse: gameManager.ReverseBall(); break; case PowerupPongPowerupManager.PowerupType.PaddleSpeedDown: gameManager.ChangePaddleSpeed(modifier, duration, !onLeft); break; case PowerupPongPowerupManager.PowerupType.PaddleSpeedUp: gameManager.ChangePaddleSpeed(modifier, duration, onLeft); break; case PowerupPongPowerupManager.PowerupType.PaddleExpand: gameManager.ChangePaddleScale(modifier, duration, onLeft); break; case PowerupPongPowerupManager.PowerupType.PaddleShrink: gameManager.ChangePaddleScale(modifier, duration, !onLeft); break; case PowerupPongPowerupManager.PowerupType.WorldReverse: gameManager.WorldReverse(); break; } if (isBot) { ClearPowerupOnClient(onLeft); } SetPowerupToNone(); }