Plasma Engine  2.0
Loading...
Searching...
No Matches
DecalResource.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <Core/ResourceManager/ResourceTypeLoader.h>
5#include <RendererCore/RendererCoreDLL.h>
6
8
12
13class PL_RENDERERCORE_DLL plDecalResource : public plResource
14{
15 PL_ADD_DYNAMIC_REFLECTION(plDecalResource, plResource);
16 PL_RESOURCE_DECLARE_COMMON_CODE(plDecalResource);
17 PL_RESOURCE_DECLARE_CREATEABLE(plDecalResource, plDecalResourceDescriptor);
18
19public:
21
22private:
23 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
24 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
25 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
26};
27
28class PL_RENDERERCORE_DLL plDecalResourceLoader : public plResourceTypeLoader
29{
30public:
32 {
34 : m_Reader(&m_Storage)
35 {
36 }
37
39 plMemoryStreamReader m_Reader;
40 };
41
42 virtual plResourceLoadData OpenDataStream(const plResource* pResource) override;
43 virtual void CloseDataStream(const plResource* pResource, const plResourceLoadData& loaderData) override;
44 virtual bool IsResourceOutdated(const plResource* pResource) const override;
45};
Definition MemoryStream.h:145
Definition DecalResource.h:14
Definition DecalResource.h:29
A reader which can access a memory stream.
Definition MemoryStream.h:259
The base class for all resources.
Definition Resource.h:10
virtual plResourceLoadDesc UnloadData(Unload WhatToUnload)=0
Requests the resource to unload another quality level. If bFullUnload is true, the resource should un...
virtual plResourceLoadDesc UpdateContent(plStreamReader *pStream)=0
Called whenever more data for the resource is available. The resource must read the stream to update ...
virtual void UpdateMemoryUsage(MemoryUsage &out_NewMemoryUsage)=0
This function must be overridden by all resource types.
Base class for all resource loaders.
Definition ResourceTypeLoader.h:29
Interface for binary in (read) streams.
Definition Stream.h:22
The plTypedResourceHandle controls access to an plResource.
Definition ResourceHandle.h:136
Definition DecalResource.h:10
Definition DecalResource.h:32
Definition Resource.h:34
Data returned by plResourceTypeLoader implementations.
Definition ResourceTypeLoader.h:10
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102