Plasma Engine  2.0
Loading...
Searching...
No Matches
KrautTreeContext.h
1#pragma once
2
3#include <EditorEngineProcessFramework/EngineProcess/EngineProcessDocumentContext.h>
4#include <EnginePluginKraut/EnginePluginKrautDLL.h>
5#include <KrautPlugin/Components/KrautTreeComponent.h>
6#include <RendererCore/Meshes/MeshResource.h>
7
10
11class PL_ENGINEPLUGINKRAUT_DLL plKrautTreeContext : public plEngineProcessDocumentContext
12{
13 PL_ADD_DYNAMIC_REFLECTION(plKrautTreeContext, plEngineProcessDocumentContext);
14
15public:
17
18 virtual void HandleMessage(const plEditorEngineDocumentMsg* pMsg) override;
19 const plKrautGeneratorResourceHandle& GetResource() const { return m_hMainResource; }
20
21protected:
22 virtual void OnInitialize() override;
23
25 virtual void DestroyViewContext(plEngineProcessViewContext* pContext) override;
26 virtual bool UpdateThumbnailViewContext(plEngineProcessViewContext* pThumbnailViewContext) override;
27
28private:
29 void QuerySelectionBBox(const plEditorEngineDocumentMsg* pMsg);
30
31 plGameObject* m_pMainObject;
32 plComponentHandle m_hKrautComponent;
33 plKrautGeneratorResourceHandle m_hMainResource;
34 plMeshResourceHandle m_hPreviewMeshResource;
35 plUInt32 m_uiDisplayRandomSeed = 0xFFFFFFFF;
36};
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 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
This class represents an object inside the world.
Definition GameObject.h:32
Definition KrautTreeContext.h:12
Definition EngineProcessMessages.h:491
Definition RenderContext.h:30
A handle to a component.
Definition Declarations.h:138