Plasma Engine  2.0
Loading...
Searching...
No Matches
SceneObjectManager.h
1#pragma once
2
3#include <SharedPluginScene/Common/Messages.h>
4#include <ToolsFoundation/Object/DocumentObjectBase.h>
5#include <ToolsFoundation/Object/DocumentObjectManager.h>
6
7class plDocument;
9
11{
12 PL_ADD_DYNAMIC_REFLECTION(plSceneDocumentSettingsBase, plReflectedClass);
13};
14
16{
17 PL_ADD_DYNAMIC_REFLECTION(plPrefabDocumentSettings, plSceneDocumentSettingsBase);
18
19public:
21};
22
27
29{
30 PL_ADD_DYNAMIC_REFLECTION(plSceneDocumentRoot, plDocumentRoot);
31
32public:
33 plSceneDocumentSettingsBase* m_pSettings;
34};
35
37{
38public:
40 virtual void GetCreateableTypes(plHybridArray<const plRTTI*, 32>& ref_types) const override;
41
42private:
43 virtual plStatus InternalCanAdd(
44 const plRTTI* pRtti, const plDocumentObject* pParent, plStringView sParentProperty, const plVariant& index) const override;
45 virtual plStatus InternalCanSelect(const plDocumentObject* pObject) const override;
46 virtual plStatus InternalCanMove(
47 const plDocumentObject* pObject, const plDocumentObject* pNewParent, plStringView sParentProperty, const plVariant& index) const override;
48};
Definition Document.h:57
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
Standard root object for most documents. m_RootObjects stores what is in the document and m_TempObjec...
Definition DocumentObjectManager.h:21
Definition DynamicArray.h:81
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition SceneObjectManager.h:24
Definition SceneObjectManager.h:16
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
Definition Scene2Document.h:66
Definition SceneObjectManager.h:29
Definition SceneObjectManager.h:11
Definition SceneObjectManager.h:37
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
An plResult with an additional message for the reason of failure.
Definition Status.h:12