using System; using System.Net.Mime; using UnityEngine; namespace Controllers { [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] public class Ball : MonoBehaviour { internal GameController controller; [SerializeField] private float shotForce; public Rigidbody2D Rigidbody => _rigidbody != null ? _rigidbody : _rigidbody = GetComponent(); private Rigidbody2D _rigidbody; private void OnCollisionEnter2D(Collision2D other) { controller.BallDropped(); } public void Shoot(Vector3 target) { transform.right = target - transform.position; Rigidbody.velocity = Vector2.zero; Rigidbody.AddForce((transform.right + (transform.up * 0.5f)) * shotForce); } } }