2#include <EditorFramework/Assets/AssetDocument.h>
3#include <EditorFramework/DocumentWindow/EngineDocumentWindow.moc.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5#include <Foundation/SimdMath/SimdTransform.h>
6#include <ToolsFoundation/Document/Document.h>
7#include <ToolsFoundation/Object/DocumentObjectManager.h>
8#include <ToolsFoundation/Object/ObjectMetaData.h>
9#include <ToolsFoundation/Project/ToolsProject.h>
19 Translation = PL_BIT(0),
22 UniformScale = PL_BIT(3),
31 RenderSelectionOverlayChanged,
32 RenderVisualizersChanged,
33 RenderShapeIconsChanged,
34 AddAmbientLightChanged,
35 SimulationSpeedChanged,
36 PickTransparentChanged,
38 ActiveEditToolChanged,
40 TriggerShowSelectionInScenegraph,
41 TriggerFocusOnSelection_Hovered,
42 TriggerFocusOnSelection_All,
44 TriggerSnapSelectionPivotToGrid,
45 TriggerSnapEachSelectedObjectToGrid,
49 GizmoTransformMayBeInvalid,
60 GameMode_StartingSimulate,
61 GameMode_StartingPlay,
76 CachedName = PL_BIT(2),
90 float m_fLocalUniformScaling;
100 plAssetDocEngineConnection engineConnectionType = plAssetDocEngineConnection::FullObjectMirroring);
107 void SubscribeGameObjectEventHandlers();
108 void UnsubscribeGameObjectEventHandlers();
116 void SetActiveEditTool(
const plRTTI* pEditToolType);
122 bool IsActiveEditTool(
const plRTTI* pEditToolType)
const;
128 void SetGizmoWorldSpace(
bool bWorldSpace);
129 bool GetGizmoWorldSpace()
const;
131 void SetGizmoMoveParentOnly(
bool bMoveParent);
132 bool GetGizmoMoveParentOnly()
const;
143 void DeallocateEditTools();
155 void TriggerShowSelectionInScenegraph()
const;
156 void TriggerFocusOnSelection(
bool bAllViews)
const;
157 void TriggerSnapPivotToGrid()
const;
158 void TriggerSnapEachObjectToGrid()
const;
160 void SnapCameraToObject();
162 void MoveCameraHere();
167 void ScheduleSendObjectSelection();
170 void SendObjectSelection();
176 bool GetAddAmbientLight()
const {
return m_bAddAmbientLight; }
177 void SetAddAmbientLight(
bool b);
179 float GetSimulationSpeed()
const {
return m_fSimulationSpeed; }
180 void SetSimulationSpeed(
float f);
182 bool GetRenderSelectionOverlay()
const {
return m_CurrentMode.m_bRenderSelectionOverlay; }
183 void SetRenderSelectionOverlay(
bool b);
185 bool GetRenderVisualizers()
const {
return m_CurrentMode.m_bRenderVisualizers; }
186 void SetRenderVisualizers(
bool b);
188 bool GetRenderShapeIcons()
const {
return m_CurrentMode.m_bRenderShapeIcons; }
189 void SetRenderShapeIcons(
bool b);
191 bool GetPickTransparent()
const {
return m_bPickTransparent; }
192 void SetPickTransparent(
bool b);
229 void QueryCachedNodeName(
247 virtual void SendGameWorldToEngine();
249 virtual void InitializeAfterLoading(
bool bFirstTimeCreation)
override;
251 virtual void RestoreMetaDataAfterLoading(
const plAbstractObjectGraph& graph,
bool bUndoable)
override;
262 bool m_bRenderSelectionOverlay;
263 bool m_bRenderVisualizers;
264 bool m_bRenderShapeIcons;
269 bool m_bAddAmbientLight =
false;
270 bool m_bGizmoWorldSpace =
true;
271 bool m_bGizmoMoveParentOnly =
false;
272 bool m_bPickTransparent =
true;
274 float m_fSimulationSpeed = 1.0f;
282 plInt8 m_iResendSelection = 0;
285 plEventSubscriptionID m_SelectionManagerEventHandlerID;
286 plEventSubscriptionID m_ObjectPropertyEventHandlerID;
287 plEventSubscriptionID m_ObjectStructureEventHandlerID;
288 plEventSubscriptionID m_ObjectEventHandlerID;
Definition AbstractObjectGraph.h:115
Definition AssetDocument.h:42
Definition DocumentObjectBase.h:11
Represents to content of a document. Every document has exactly one root object under which all objec...
Definition DocumentObjectManager.h:116
Base class for all messages that are tied to some document.
Definition EngineProcessMessages.h:151
Definition EditorInputContext.h:22
Definition GameObjectDocument.h:95
plGameObjectEditTool * GetActiveEditTool() const
Returns the currently active edit tool (nullptr for none).
Definition GameObjectDocument.h:119
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
Definition AllocatorWrapper.h:25
A generic delegate class which supports static functions and member functions.
Definition Delegate.h:76
Used by plDocumentObjectManager::m_ObjectEvents.
Definition DocumentObjectManager.h:100
Used by plDocumentObjectManager::m_PropertyEvents.
Definition DocumentObjectManager.h:77
Used by plDocumentObjectManager::m_StructureEvents.
Definition DocumentObjectManager.h:45
Definition GameObjectDocument.h:261
Definition GameObjectDocument.h:56
Type
Definition GameObjectDocument.h:58
@ GameMode_StartingExternal
ie. scene is exported for plPlayer
Definition GameObjectDocument.h:28
Type
Definition GameObjectDocument.h:30
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Definition GameObjectDocument.h:87
Definition SelectionManager.h:10
An plResult with an additional message for the reason of failure.
Definition Status.h:12