private void Projectile() { if (projectileCooldownTime > 0) { return; } if (Input.GetButton(k_projectileButton)) { ReportAction(); projectileCooldownTime = m_chosenProjectile.Cooldown; Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); GameObject projectile = Instantiate(m_chosenProjectile.gameObject, transform.position, Quaternion.identity); Vector2 direction = (mousePos - (Vector2)transform.position).normalized; projectile.transform.right = direction; PlayerProjectile playerProjectile = projectile.GetComponent <PlayerProjectile>(); if (playerProjectile) { playerProjectile.IncreaseDamage(m_meleeDamageModifier); } else { Debug.LogError("No player projectile script on " + projectile.gameObject.name); } Rigidbody2D projRB = projectile.GetComponent <Rigidbody2D>(); if (projRB) { projRB.AddForce(direction * 5f, ForceMode2D.Impulse); } } }