Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleEffectResource.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <ParticlePlugin/Effect/ParticleEffectDescriptor.h>
5#include <RendererCore/Declarations.h>
6
8
9struct PL_PARTICLEPLUGIN_DLL plParticleEffectResourceDescriptor
10{
11 virtual void Save(plStreamWriter& inout_stream) const;
12 virtual void Load(plStreamReader& inout_stream);
13
15};
16
17class PL_PARTICLEPLUGIN_DLL plParticleEffectResource final : public plResource
18{
19 PL_ADD_DYNAMIC_REFLECTION(plParticleEffectResource, plResource);
20 PL_RESOURCE_DECLARE_COMMON_CODE(plParticleEffectResource);
21 PL_RESOURCE_DECLARE_CREATEABLE(plParticleEffectResource, plParticleEffectResourceDescriptor);
22
23public:
26
27 const plParticleEffectResourceDescriptor& GetDescriptor() { return m_Desc; }
28
29private:
30 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
31 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
32 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
33
34private:
36};
Definition ParticleEffectDescriptor.h:8
Definition ParticleEffectResource.h:18
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 ParticleEffectResource.h:10
Definition Resource.h:34
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102