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