Plasma Engine  2.0
Loading...
Searching...
No Matches
StateMachineAsset.h
1#pragma once
2
3#include <EditorFramework/Assets/AssetDocument.h>
4#include <ToolsFoundation/NodeObject/DocumentNodeManager.h>
5
7{
8 PL_ADD_DYNAMIC_REFLECTION(plStateMachineAssetDocument, plAssetDocument);
9
10public:
12
13protected:
14 virtual plTransformStatus InternalTransformAsset(const char* szTargetFile, plStringView sOutputTag, const plPlatformProfile* pAssetProfile,
15 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
16 virtual plTransformStatus InternalTransformAsset(plStreamWriter& stream, plStringView sOutputTag, const plPlatformProfile* pAssetProfile,
17 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
18
19 virtual void GetSupportedMimeTypesForPasting(plHybridArray<plString, 4>& out_MimeTypes) const override;
20 virtual bool CopySelectedObjects(plAbstractObjectGraph& out_objectGraph, plStringBuilder& out_MimeType) const override;
21 virtual bool Paste(
22 const plArrayPtr<PasteInfo>& info, const plAbstractObjectGraph& objectGraph, bool bAllowPickedPosition, plStringView sMimeType) override;
23
24 virtual void InternalGetMetaDataHash(const plDocumentObject* pObject, plUInt64& inout_uiHash) const override;
25 virtual void AttachMetaDataBeforeSaving(plAbstractObjectGraph& graph) const override;
26 virtual void RestoreMetaDataAfterLoading(const plAbstractObjectGraph& graph, bool bUndoable) override;
27};
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
Simple class to handle asset file headers (the very first bytes in all transformed asset files)
Definition AssetFileHeader.h:8
Definition DocumentObjectBase.h:11
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition PlatformProfile.h:25
Definition StateMachineAsset.h:7
virtual plTransformStatus InternalTransformAsset(const char *szTargetFile, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) override
Only override this function, if the transformed file for the given szOutputTag must be written from a...
Definition StateMachineAsset.cpp:18
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 StateMachineAsset.cpp:54
virtual void GetSupportedMimeTypesForPasting(plHybridArray< plString, 4 > &out_MimeTypes) const override
Whether this document supports pasting the given mime format into it.
Definition StateMachineAsset.cpp:49
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 StateMachineAsset.cpp:29
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
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition Declarations.h:114