From 67c86ed960cc5feaedd06569ad62a340cc0d013f Mon Sep 17 00:00:00 2001 From: Carson Katri Date: Sat, 12 Jun 2021 18:06:04 -0400 Subject: Functional AI that can dribble, steal, and shoot --- Assets/Scripts/Controllers/AIController.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Assets/Scripts/Controllers/AIController.cs') diff --git a/Assets/Scripts/Controllers/AIController.cs b/Assets/Scripts/Controllers/AIController.cs index 0edffb7..f897f42 100644 --- a/Assets/Scripts/Controllers/AIController.cs +++ b/Assets/Scripts/Controllers/AIController.cs @@ -10,6 +10,8 @@ namespace Controllers public class AIController : MonoBehaviour { [SerializeField] private float speed; + + [SerializeField] private Transform flipper; [Header("Legs")] [SerializeField] private Leg leftLeg; @@ -59,11 +61,18 @@ namespace Controllers else { // transform.position += new Vector3(game.ball.transform.position.x - transform.position.x, 0f, 0f).normalized * (Time.deltaTime * speed); - transform.position = new Vector2(Vector2.MoveTowards(transform.position, game.ball.transform.position, speed * Time.deltaTime).x, transform.position.y); + var direction = Vector2.MoveTowards(transform.position, game.ball.transform.position, speed * Time.deltaTime); + transform.position = new Vector2(direction.x, transform.position.y); + flipper.localScale = new Vector3((Vector2.Distance(transform.position, direction) > 0 ? -1f : 1f), 1, 1); } } else // Otherwise, move toward the basket, and then once we get within range, take the shot. { + transform.position = new Vector2(Vector2.MoveTowards(transform.position, game.EnemyHoop.transform.position, speed * Time.deltaTime).x, transform.position.y); + if (Mathf.Abs(transform.position.x - game.EnemyHoop.transform.position.x) < 5f) // Take the shot. + { + game.enemy.Shoot(transform); + } } movement -= transform.position; -- cgit v1.2.3-56-ge451