//---- Navmesh ----

        public void CalculateNavmesh()
        {
            if (auto_move && use_navmesh && !calculating_path)
            {
                calculating_path      = true;
                path_found            = false;
                path_index            = 0;
                auto_move_target_next = auto_move_target; //Default
                NavMeshTool.CalculatePath(transform.position, auto_move_target, 1 << 0, FinishCalculateNavmesh);
            }
        }
 private void CalculateNavmesh()
 {
     if (use_navmesh && !calculating_path && navmesh_timer > 0.5f)
     {
         calculating_path = true;
         path_index       = 0;
         NavMeshTool.CalculatePath(transform.position, move_target, 1 << 0, FinishCalculateNavmesh);
         path_destination = move_target;
         navmesh_timer    = 0f;
     }
 }