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);
                 }
             }
         }
     }
 }