void Update()
    {
        var dt = Time.deltaTime;

        if (_lockTime > 0f)
        {
            _lockTime -= dt;
        }
        if (_isDiving && IsAvailable)
        {
            _flyControl.StopFlying();
            _enterTime += dt;
            if (_enterTime >= _data.DiveEnterTime)
            {
                StartDiving();
            }
        }
        else
        {
            _enterTime = 0f;
            //onDiveExit();
        }
    }
 public void SetFlying(bool value)
 {
     if (_flyControl != null && _flyControl.IsFlying != value)
     {
         if (value)
         {
             _flyControl.StartFlying();
         }
         else
         {
             _flyControl.StopFlying();
         }
     }
 }