using UnityEngine; public class Teo : MonoBehaviour { public float health = 100; public float moveSpeed = 10; public float swingRange = 3; public float damageStrength = 10; public float attackCooldownSeconds = 2; Rigidbody2D controller; GameState gameState; float lastAttackTime; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { controller = GetComponent(); gameState = GameObject.FindGameObjectWithTag("GameController").GetComponent(); } // Update is called once per frame void Update() { // Move player controller.linearVelocity = new Vector2 ( Input.GetAxis("Horizontal"), Input.GetAxis("Vertical") ).normalized * moveSpeed; // Attack on click if not on cooldown if (Input.GetMouseButtonDown(0) && Time.fixedTime > lastAttackTime + attackCooldownSeconds) { // Get all objects in range in the direction of cursor RaycastHit2D[] hits = Physics2D.CircleCastAll( transform.position, swingRange, new Vector2( Screen.width/2 - Input.mousePosition.x, Screen.height/2 - Input.mousePosition.y ) ); // Damage all ratbots in scanned area foreach (RaycastHit2D hit in hits) { Ratbot ratbot = hit.collider.GetComponent(); if (ratbot == null) continue; ratbot.Damage(damageStrength); } } } }