Plasma Engine  2.0
Loading...
Searching...
No Matches
RecastNavMeshResource.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <RecastPlugin/RecastPluginDLL.h>
5
6struct rcPolyMesh;
7class dtNavMesh;
8
10
11struct PL_RECASTPLUGIN_DLL plRecastNavMeshResourceDescriptor
12{
17 void operator=(plRecastNavMeshResourceDescriptor&& rhs);
18 void operator=(const plRecastNavMeshResourceDescriptor& rhs) = delete;
19
22
24 rcPolyMesh* m_pNavMeshPolygons = nullptr;
25
26 void Clear();
27
28 plResult Serialize(plStreamWriter& inout_stream) const;
29 plResult Deserialize(plStreamReader& inout_stream);
30};
31
32class PL_RECASTPLUGIN_DLL plRecastNavMeshResource : public plResource
33{
34 PL_ADD_DYNAMIC_REFLECTION(plRecastNavMeshResource, plResource);
35 PL_RESOURCE_DECLARE_COMMON_CODE(plRecastNavMeshResource);
36 PL_RESOURCE_DECLARE_CREATEABLE(plRecastNavMeshResource, plRecastNavMeshResourceDescriptor);
37
38public:
41
42 const dtNavMesh* GetNavMesh() const { return m_pNavMesh; }
43 const rcPolyMesh* GetNavMeshPolygons() const { return m_pNavMeshPolygons; }
44
45private:
46 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
47 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
48 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
49
50 plDataBuffer m_DetourNavmeshData;
51 dtNavMesh* m_pNavMesh = nullptr;
52 rcPolyMesh* m_pNavMeshPolygons = nullptr;
53};
Definition RecastNavMeshResource.h:33
The base class for all resources.
Definition Resource.h:10
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition RecastNavMeshResource.h:12
plDataBuffer m_DetourNavmeshData
Data that was created by dtCreateNavMeshData() and will be used for dtNavMesh::init()
Definition RecastNavMeshResource.h:21
Definition Resource.h:34
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54