Plasma Engine  2.0
Loading...
Searching...
No Matches
TextureContext.h
1#pragma once
2
3#include <EditorEngineProcessFramework/EngineProcess/EngineProcessDocumentContext.h>
4#include <EnginePluginAssets/EnginePluginAssetsDLL.h>
5#include <RendererCore/Declarations.h>
6#include <RendererCore/Meshes/MeshBufferResource.h>
7#include <RendererCore/Meshes/MeshResource.h>
8#include <RendererCore/Shader/ShaderResource.h>
9#include <RendererCore/Textures/Texture2DResource.h>
10
12class plRenderContext;
13
14class PL_ENGINEPLUGINASSETS_DLL plTextureContext : public plEngineProcessDocumentContext
15{
16 PL_ADD_DYNAMIC_REFLECTION(plTextureContext, plEngineProcessDocumentContext);
17
18public:
20
21 virtual void HandleMessage(const plEditorEngineDocumentMsg* pMsg) override;
22
23 const plTexture2DResourceHandle& GetTexture() const { return m_hTexture; }
24
25protected:
26 virtual void OnInitialize() override;
27
29 virtual void DestroyViewContext(plEngineProcessViewContext* pContext) override;
30
31private:
32 void OnResourceEvent(const plResourceEvent& e);
33
34 plGameObjectHandle m_hPreviewObject;
35 plComponentHandle m_hPreviewMesh2D;
36 plMeshResourceHandle m_hPreviewMeshResource;
37 plMaterialResourceHandle m_hMaterial;
39
40 plEvent<const plResourceEvent&, plMutex>::Unsubscriber m_TextureResourceEventSubscriber;
41};
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.
Represents the view/window on the engine process side, holds all data necessary for rendering.
Definition EngineProcessViewContext.h:54
Definition EngineProcessMessages.h:491
Definition RenderContext.h:30
Definition TextureContext.h:15
A handle to a component.
Definition Declarations.h:138
A handle to a game object.
Definition Declarations.h:76
These events may be sent by a specific plResource or by the plResourceManager.
Definition Declarations.h:22