Plasma Engine  2.0
Loading...
Searching...
No Matches
VisualScriptClassAsset.h
1#pragma once
2
3#include <EditorFramework/Assets/SimpleAssetDocument.h>
4#include <EditorPluginVisualScript/VisualScriptGraph/VisualScriptVariable.moc.h>
5#include <ToolsFoundation/NodeObject/DocumentNodeManager.h>
6
8{
10
11public:
12 plString m_sBaseClass;
14 bool m_bDumpAST;
15};
16
17class plVisualScriptClassAssetDocument : public plSimpleAssetDocument<plVisualScriptClassAssetProperties>
18{
19 PL_ADD_DYNAMIC_REFLECTION(plVisualScriptClassAssetDocument, plAssetDocument);
20
21public:
23
24protected:
25 virtual plTransformStatus InternalTransformAsset(plStreamWriter& stream, plStringView sOutputTag, const plPlatformProfile* pAssetProfile, const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
26 virtual void UpdateAssetDocumentInfo(plAssetDocumentInfo* pInfo) const override;
27
28 virtual void GetSupportedMimeTypesForPasting(plHybridArray<plString, 4>& out_MimeTypes) const override;
29 virtual bool CopySelectedObjects(plAbstractObjectGraph& out_objectGraph, plStringBuilder& out_MimeType) const override;
30 virtual bool Paste(
31 const plArrayPtr<PasteInfo>& info, const plAbstractObjectGraph& objectGraph, bool bAllowPickedPosition, plStringView sMimeType) override;
32
33 virtual void InternalGetMetaDataHash(const plDocumentObject* pObject, plUInt64& inout_uiHash) const override;
34 virtual void AttachMetaDataBeforeSaving(plAbstractObjectGraph& graph) const override;
35 virtual void RestoreMetaDataAfterLoading(const plAbstractObjectGraph& graph, bool bUndoable) override;
36};
Definition AbstractObjectGraph.h:115
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition AssetDocument.h:42
Definition AssetDocumentInfo.h:7
Simple class to handle asset file headers (the very first bytes in all transformed asset files)
Definition AssetFileHeader.h:8
Definition DocumentObjectBase.h:11
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 PlatformProfile.h:25
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
Definition SimpleAssetDocument.h:23
Interface for binary out (write) streams.
Definition Stream.h:107
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
Definition VisualScriptClassAsset.h:18
virtual void UpdateAssetDocumentInfo(plAssetDocumentInfo *pInfo) const override
Override this to add custom data (e.g. additional file dependencies) to the info struct.
Definition VisualScriptClassAsset.cpp:95
virtual plTransformStatus InternalTransformAsset(plStreamWriter &stream, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) override
Override this and write the transformed file for the given szOutputTag into the given stream.
Definition VisualScriptClassAsset.cpp:33
virtual void GetSupportedMimeTypesForPasting(plHybridArray< plString, 4 > &out_MimeTypes) const override
Whether this document supports pasting the given mime format into it.
Definition VisualScriptClassAsset.cpp:137
virtual bool CopySelectedObjects(plAbstractObjectGraph &out_objectGraph, plStringBuilder &out_MimeType) const override
Creates the abstract graph of data to be copied and returns the mime type for the clipboard to identi...
Definition VisualScriptClassAsset.cpp:142
virtual void InternalGetMetaDataHash(const plDocumentObject *pObject, plUInt64 &inout_uiHash) const override
Computes the hash for transform relevant meta data of the given document object and combines it with ...
Definition VisualScriptClassAsset.cpp:117
Definition VisualScriptClassAsset.h:8
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition Declarations.h:114