using System; using UnityEngine; public class RangedWeapon : Weapon { private Camera cam; private Vector3 mousePos; [Header("Ranged Weapon Specifics")] public int reloadActionUsage; public bool fired; [SerializeField] private Projectile projectile; private void Start() { cam = Camera.main; } public override void TryAttack() { if (!fired) { AttackEffects(); } } public void Reload() { fired = false; } protected override void AttackEffects() { isAiming = true; } private void Update() { if (isAiming) { mousePos = cam.ScreenToWorldPoint(Input.mousePosition); if (Input.GetMouseButtonDown(0)) { CreateProjectile(mousePos); fired = true; isAiming = false; ActionUIHandler.instance.UpdateActions(1); ActionUIHandler.instance.cursorObject.SetActive(false); } else if (Input.GetMouseButtonDown(1)) { isAiming = false; ActionUIHandler.instance.cursorObject.SetActive(false); } } } private void CreateProjectile(Vector3 target) { Projectile newProjectile = Instantiate(projectile, transform.position, Quaternion.identity); newProjectile.RotateToTarget(target); newProjectile.damage = damage; newProjectile.tag = tag; newProjectile.fromEntity = thisEntity; } }