void ShootLaser(FriendlyCannons cannons) { cannons.FireStraightForward(); if (isQuadFireShip) { cannons.FireStraightForward(); } }
// Update is called once per frame void Update() { // check if can shoot if (canShootLaser || canShootTorpedo || canShootMissile) { Vector2 pos = new Vector2(transform.position.x + 0.5f, transform.position.y); // raycast to player ship RaycastHit2D hit = Physics2D.Raycast(pos, transform.right); if (hit.collider != null) { if (hit.transform.tag == "EnemyShipTag" || hit.transform.tag == "EnemyCapitalShip") { // if successful, shoot FriendlyCannons cannons = GetComponentInChildren <FriendlyCannons>(); if (canShootTorpedo) { if (torpedosRemaining > 0) { cannons.FireTorepdo(); torpedosRemaining--; canShootTorpedo = false; Invoke("CanShootTorpedo", torpedoShootingSpeed); } } else if (canShootMissile) { if (missilesRemaining > 0) { cannons.FireConcussionMissile(); missilesRemaining--; canShootMissile = false; Invoke("CanShootMissile", missileShootingSpeed); } } else { ShootLaser(cannons); canShootLaser = false; Invoke("CanShoot", laserShootingSpeed); } } } } }