You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
905 B

using Unity.Netcode;
using UnityEngine;
namespace Game {
public class Ball : NetworkBehaviour {
private float SpeedGain { get; } = GameManager.BalanceValues.ballSpeedMultiplier;
2 years ago
public Rigidbody2D Rb { get; private set; }
public Player LastContactPlayer { get; private set; }
public bool IsPermanent { get; set; }
2 years ago
2 years ago
private CircleCollider2D Collider { get; set; }
2 years ago
public float Radius {
get => transform.localScale.x * Collider.radius;
set => transform.localScale = new Vector3(1, 1, 1) * value * 2;
}
private void Awake() {
Rb = GetComponent<Rigidbody2D>();
Collider = GetComponent<CircleCollider2D>();
}
private void OnCollisionEnter2D(Collision2D other) {
if (other.gameObject.TryGetComponent(out Player player))
PlayerContact(player);
}
private void PlayerContact(Player player) {
LastContactPlayer = player;
Rb.velocity *= SpeedGain;
}
}
}