Plasma Engine  2.0
Loading...
Searching...
No Matches
ProjectExport.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <Foundation/Containers/Set.h>
5#include <Foundation/IO/OSFile.h>
6#include <Foundation/IO/Stream.h>
7#include <Foundation/Logging/Log.h>
8
10class plAssetCurator;
13class plProgressRange;
14
16
17struct PL_EDITORFRAMEWORK_DLL plProjectExport
18{
19 static plResult ExportProject(const char* szTargetDirectory, const plPlatformProfile* pPlatformProfile, const plApplicationFileSystemConfig& dataDirs);
20
21private:
22 struct DataDirectory
23 {
24 plString m_sTargetDirPath;
25 plString m_sTargetDirRootName;
26 plSet<plString> m_Files;
27 };
28
30
31 static plResult ClearTargetFolder(const char* szAbsFolderPath);
32 static plResult ScanFolder(plSet<plString>& out_Files, const char* szFolder, const plPathPatternFilter& filter, plAssetCurator* pCurator, plDynamicArray<plString>* pSceneFiles, const plPlatformProfile* pPlatformProfile);
33 static plResult CopyFiles(const char* szSrcFolder, const char* szDstFolder, const plSet<plString>& files, plProgressRange* pProgressRange);
34 static plResult GatherGeneratedAssetManagerFiles(plSet<plString>& out_Files);
35 static plResult CreateExportFilterFile(const char* szExpectedFile, const char* szFallbackFile);
36 static plResult ReadExportFilters(plPathPatternFilter& out_DataFilter, plPathPatternFilter& out_BinariesFilter, const plPlatformProfile* pPlatformProfile);
37 static plResult CreateDataDirectoryDDL(const DirectoryMapping& mapping, const char* szTargetDirectory);
38 static plResult GatherAssetLookupTableFiles(DirectoryMapping& mapping, const plApplicationFileSystemConfig& dirConfig, const plPlatformProfile* pPlatformProfile);
39 static plResult ScanDataDirectories(DirectoryMapping& mapping, const plApplicationFileSystemConfig& dirConfig, const plPathPatternFilter& dataFilter, plDynamicArray<plString>* pSceneFiles, const plPlatformProfile* pPlatformProfile);
40 static plResult CopyAllFiles(DirectoryMapping& mapping, const char* szTargetDirectory);
41 static plResult GatherBinaries(DirectoryMapping& mapping, const plPathPatternFilter& filter);
42 static plResult CreateLaunchConfig(const plDynamicArray<plString>& sceneFiles, const char* szTargetDirectory);
43 static plResult GatherGeneratedAssetFiles(plSet<plString>& out_Files, const char* szProjectDirectory);
44};
Definition FileSystemConfig.h:8
Definition AssetCurator.h:139
Definition DynamicArray.h:81
Definition Map.h:408
Definition PlatformProfile.h:25
plProgressRange is the preferred method to inform the system of progress.
Definition Progress.h:97
Definition Set.h:238
A collection of plPathPatterns.
Definition PathPatternFilter.h:34
Definition ProjectExport.h:18
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54