void Update() { //Attack Code if (Input.GetButtonDown("Attack") && !MenuManager.windowOpen) { Vector2 dir = new Vector2(0, 0); switch (direction) { case 1: dir = new Vector2(-1, 0); break; case 2: dir = new Vector2(1, 0); break; case 3: dir = new Vector2(0, 1); break; case 4: dir = new Vector2(0, -1); break; } attacking = true; RaycastHit2D hit = Physics2D.CircleCast(transform.position, 1f, dir, InventoryData.Range(), LayerMask.GetMask("Enemy")); //Change layer to enemy layer later if (hit.transform != null && attacking && attackCooldown == 0) { if ((hel = hit.transform.GetComponent <Health>()) != null) { attackCooldown = InventoryData.Cooldown(); hel.Damage(InventoryData.Attack()); attacking = false; } } } }