Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleContext.h
1#pragma once
2
3#include <EditorEngineProcessFramework/EngineProcess/EngineProcessDocumentContext.h>
4#include <EnginePluginParticle/EnginePluginParticleDLL.h>
5#include <ParticlePlugin/Resources/ParticleEffectResource.h>
6#include <RendererCore/Meshes/MeshResource.h>
7
9
11
12class PL_ENGINEPLUGINPARTICLE_DLL plParticleContext : public plEngineProcessDocumentContext
13{
14 PL_ADD_DYNAMIC_REFLECTION(plParticleContext, plEngineProcessDocumentContext);
15
16public:
19
20 virtual void HandleMessage(const plEditorEngineDocumentMsg* pMsg) override;
21
22protected:
23 virtual void OnInitialize() override;
24
26 virtual void DestroyViewContext(plEngineProcessViewContext* pContext) override;
27 virtual void OnThumbnailViewContextRequested() override;
28 virtual bool UpdateThumbnailViewContext(plEngineProcessViewContext* pThumbnailViewContext) override;
29
30 void RestartEffect();
31 void SetAutoRestartEffect(bool loop);
32
33private:
34 plBoundingBoxSphere m_ThumbnailBoundingVolume;
36 plMeshResourceHandle m_hPreviewMeshResource;
37 plParticleComponent* m_pComponent = nullptr;
38};
Base class for all messages that are tied to some document.
Definition EngineProcessMessages.h:151
A document context is the counter part to an editor document on the engine side.
Definition EngineProcessDocumentContext.h:42
virtual plEngineProcessViewContext * CreateViewContext()=0
Needs to be implemented to create a view context used for windows and thumbnails rendering.
virtual void DestroyViewContext(plEngineProcessViewContext *pContext)=0
Needs to be implemented to destroy the view context created in CreateViewContext.
virtual void OnThumbnailViewContextRequested()
Called before a thumbnail context is created.
Definition EngineProcessDocumentContext.h:124
virtual bool UpdateThumbnailViewContext(plEngineProcessViewContext *pThumbnailViewContext)
Overwrite this function to apply the thumbnail render settings to the given context.
Definition EngineProcessDocumentContext.cpp:603
Represents the view/window on the engine process side, holds all data necessary for rendering.
Definition EngineProcessViewContext.h:54
Plays a particle effect at the location of the game object.
Definition ParticleComponent.h:37
Definition ParticleContext.h:13