//TODO Ref
 void Update()
 {
     if (isFlyPlane)
     {
         pos = transform.position;
         transform.position = new Vector2(pos.x + (Settings.SpeedFly * (int)dir * Time.timeScale * Time.deltaTime),
                                          pos.y - (Settings.SpeedDown * Time.timeScale * Time.deltaTime));
         if (pos.x >= w)
         {
             canDroppingBomb = false;
             if (pos.x >= (w + planeX) && dir == FlyDirct.FlyForward)
             {
                 canDroppingBomb = true;
                 //print("FlyBack pos.x=" + pos.x.ToString());
                 dir = FlyDirct.FlyBack;
                 PositionNdFlip();
             }
         }
         else if (pos.x <= -w)
         {
             canDroppingBomb = false;
             if (pos.x <= -(w + planeX) && dir == FlyDirct.FlyBack)
             {
                 canDroppingBomb = true;
                 //print("FlyForward pos.x=" + pos.x.ToString());
                 dir = FlyDirct.FlyForward;
                 PositionNdFlip();
             }
         }
         else
         {
             canDroppingBomb = true;
         }
     }
 }
 public void StartFly()
 {
     if (!isFlyPlane)
     {
         dir             = FlyDirct.FlyForward;
         canDroppingBomb = true;
         GetComponent <Rigidbody2D>().bodyType    = RigidbodyType2D.Dynamic;
         GetComponent <Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezeRotation;
         isFlyPlane = true;
     }
 }