blob: ae0656f3a6022e0e13a9446485c56129d529ca87 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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<Rigidbody2D>();
private Rigidbody2D _rigidbody;
private void OnCollisionEnter2D(Collision2D other)
{
controller.BallDropped();
}
public void Shoot(Hoop target, float time)
{
transform.localRotation = Quaternion.identity;
Rigidbody.velocity = (Vector2)((target.transform.position - transform.position).normalized + transform.up * Mathf.Clamp(time, 0f, 1f)) * shotForce;
}
}
}
|