3#include <EditorEngineProcessFramework/EditorEngineProcessFrameworkDLL.h>
4#include <EditorEngineProcessFramework/EngineProcess/WorldRttiConverterContext.h>
5#include <Foundation/Types/Uuid.h>
6#include <RendererFoundation/Device/SwapChain.h>
7#include <RendererFoundation/Resources/RenderTargetSetup.h>
21 using StorageType = plUInt8;
26 CreateWorld = PL_BIT(0),
32 StorageType CreateWorld : 1;
60 static bool PendingOperationsInProgress();
61 static void UpdateDocumentContexts();
62 static void DestroyDocumentContext(
plUuid guid);
69 const plUuid& GetDocumentGuid()
const {
return m_DocumentGuid; }
72 void ClearExistingObjects();
79 plWorld* GetWorld()
const {
return m_pWorld; }
85 virtual void OnInitialize();
86 virtual void OnDeinitialize();
95 virtual bool PendingOperationInProgress()
const;
102 virtual void UpdateDocumentContext();
106 void UpdateSyncObjects();
112 void DestroyThumbnailViewContext();
126 virtual void OnThumbnailViewContextCreated();
128 virtual void OnDestroyThumbnailViewContext();
133 void SetTagOnObject(
const plUuid&
object,
const char* szTag,
bool bSet,
bool recursive);
143 return uiView >= m_ViewContexts.GetCount() ? nullptr : m_ViewContexts[uiView];
155 void ClearViewContexts();
161 void CleanUpContextSyncObjects();
176 ThumbnailSuperscaleFactor =
178 ThumbnailConvergenceFramesTarget = 4
181 plUInt8 m_uiThumbnailConvergenceFrames = 0;
182 plUInt16 m_uiThumbnailWidth = 0;
183 plUInt16 m_uiThumbnailHeight = 0;
188 bool m_bWorldSimStateBeforeThumbnail =
false;
197 plUuid m_ReferenceToGameObject;
200 struct GoReferencedBy
203 plUuid m_ReferencedByComponent;
Definition EngineProcessMessages.h:330
Base class for all messages that are tied to some document.
Definition EngineProcessMessages.h:151
Definition SyncObject.h:11
Definition EngineProcessMessages.h:461
Definition EngineProcessCommunicationChannel.h:6
A document context is the counter part to an editor document on the engine side.
Definition EngineProcessDocumentContext.h:42
plStringView GetDocumentType() const
Returns the document type for which this context was created. Useful in case a context may be used fo...
Definition EngineProcessDocumentContext.h:53
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
Represents the view/window on the engine process side, holds all data necessary for rendering.
Definition EngineProcessViewContext.h:54
Definition EngineProcessMessages.h:307
Definition RendererFoundationDLL.h:411
This class represents an object inside the world.
Definition GameObject.h:32
Definition HashTable.h:333
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
An object mirror that mirrors across IPC to the engine process.
Definition IPCObjectMirrorEngine.h:11
Base class for IPC messages transmitted by plIpcChannel.
Definition RemoteMessage.h:64
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
The tag class stores the necessary lookup information for a single tag which can be used in conjuncti...
Definition Tag.h:16
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
The world rtti converter context tracks created objects and is capable of also handling components / ...
Definition WorldRttiConverterContext.h:14
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
A handle to a component.
Definition Declarations.h:138
Definition EngineProcessDocumentContext.h:31
Definition EngineProcessDocumentContext.h:20
Definition RenderTargetSetup.h:9
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
An plResult with an additional message for the reason of failure.
Definition Status.h:12
Definition WorldRttiConverterContext.h:40