// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Collections/Array.h"
class NavMesh;
class NavMeshBoundsVolume;
///
/// Scene navigation subsystem.
///
class FLAXENGINE_API SceneNavigation
{
public:
///
/// The list of registered navigation bounds volumes (on the scene).
///
Array Volumes;
///
/// The list of registered navigation meshes (on the scene).
///
Array Meshes;
///
/// Gets the total navigation volumes bounds.
///
BoundingBox GetNavigationBounds();
///
/// Finds the navigation volume bounds that have intersection with the given world-space bounding box.
///
/// The bounds.
/// The intersecting volume or null if none found.
NavMeshBoundsVolume* FindNavigationBoundsOverlap(const BoundingBox& bounds);
};