Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
NavMeshWorldContext.hpp
1#pragma once
2
3#include <EngineCore/WorldContext/WorldContextSet.hpp>
4#include <HashedString.hpp>
5
6class dtNavMesh;
7
8namespace Grindstone::Ai {
9 const Grindstone::ConstHashedString navMeshWorldContextName("Grindstone::Ai::NavMeshWorldContext");
10
11 class NavMeshWorldContext : public Grindstone::WorldContext {
12 public:
13 NavMeshWorldContext() = default;
14 NavMeshWorldContext(const NavMeshWorldContext&) = delete;
15 NavMeshWorldContext(NavMeshWorldContext&&) noexcept = default;
16 virtual ~NavMeshWorldContext() override = default;
17
18 [[nodiscard]] static NavMeshWorldContext* GetActiveContext();
19 static void SetActiveContext(NavMeshWorldContext& cxt);
20 virtual void SetAsActive() override;
21 dtNavMesh* GetNavMesh();
22
23 protected:
24
25 dtNavMesh* navMesh = nullptr;
26
27 };
28}
Definition WorldContext.hpp:7
Definition NavAgentComponent.hpp:12