Plasma Engine  2.0
Loading...
Searching...
No Matches
EngineProcessApp.h
1#pragma once
2
3#include <Core/ResourceManager/ResourceHandle.h>
4#include <Core/System/Window.h>
5#include <EditorEngineProcessFramework/EditorEngineProcessFrameworkDLL.h>
6#include <Foundation/Configuration/Singleton.h>
7#include <Foundation/Types/UniquePtr.h>
8#include <RendererCore/Pipeline/Declarations.h>
9
10class plActor;
11
13
14enum class plEditorEngineProcessMode
15{
16 Primary,
17 Remote,
18};
19
20class PL_EDITORENGINEPROCESSFRAMEWORK_DLL plRemoteProcessWindow : public plWindow
21{
22public:
23};
24
25class PL_EDITORENGINEPROCESSFRAMEWORK_DLL plEditorEngineProcessApp
26{
27 PL_DECLARE_SINGLETON(plEditorEngineProcessApp);
28
29public:
32
33 void SetRemoteMode();
34
35 bool IsRemoteMode() const { return m_Mode == plEditorEngineProcessMode::Remote; }
36
37 virtual plViewHandle CreateRemoteWindowAndView(plCamera* pCamera);
38 void DestroyRemoteWindow();
39
40 virtual plRenderPipelineResourceHandle CreateDefaultMainRenderPipeline();
41 virtual plRenderPipelineResourceHandle CreateDefaultDebugRenderPipeline();
42
43protected:
44 virtual void CreateRemoteWindow();
45
46 plEditorEngineProcessMode m_Mode = plEditorEngineProcessMode::Primary;
47
48 plActor* m_pActor = nullptr;
49 plViewHandle m_hRemoteView;
50};
Definition Actor.h:9
A camera class that stores the orientation and some basic camera settings.
Definition Camera.h:41
Definition EngineProcessApp.h:26
Definition EngineProcessApp.h:21
Definition Declarations.h:64
A simple abstraction for platform specific window creation.
Definition Window.h:244