3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/resources/LoadImportedLevelData.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/resource/PackType.h"
9#include "mc/deps/core/resource/ResourceLocation.h"
10#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
28namespace Core {
class Path; }
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ImportContext>> mContext;
46 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>
const> mMcContentPath;
47 ::ll::TypedStorage<1, 1, bool> mFromTemp;
48 ::ll::TypedStorage<4, 4, ::LoadImportedLevelData> mLoadLevelData;
49 ::ll::TypedStorage<1, 1, bool> mTitleLocked;
50 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
58 ::ll::TypedStorage<1, 1, ::PackType> packType;
59 ::ll::TypedStorage<8, 56, ::ResourceLocation> packLocation;
65 using Importer = ::std::function<void(
66 ::std::shared_ptr<::ImportContext>,
67 ::Core::PathBuffer<::std::string>
const&,
69 ::LoadImportedLevelData,
77 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelLoader>> mLevelLoader;
78 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
79 ::ll::TypedStorage<8, 8, ::IResourcePackRepository&> mPackRepository;
80 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mPackManager;
81 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>> mTemplateManager;
82 ::ll::TypedStorage<8, 8, ::PackManifestFactory&> mManifestFactory;
83 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SkinRepository>> mSkinRepository;
85 ::ll::TypedStorage<8, 8, ::PersonaRepository&> mPersonaRepository;
86 ::ll::TypedStorage<8, 8, ::PackSourceFactory&> mPackSourceFactory;
87 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager>> mResourceLoadManager;
88 ::ll::TypedStorage<1, 1, bool> mContentInTransit;
93 ::ExternalContentManager::ImportRequestData,
94 ::std::deque<::ExternalContentManager::ImportRequestData>>>
96 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mTempImportFolder;
100 ::std::unordered_set<
101 ::ExternalContentManager::LoadingContentData,
102 ::ExternalContentManager::LoadingContentDataHasher,
103 ::std::equal_to<::ExternalContentManager::LoadingContentData>>>
105 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
106 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ExternalContentManagerProxy>> mProxy;
107 ::ll::TypedStorage<8, 16, ::std::shared_ptr<void>> mExistence;
112 ExternalContentManager& operator=(ExternalContentManager
const&);
113 ExternalContentManager(ExternalContentManager
const&);
114 ExternalContentManager();
119 virtual ~ExternalContentManager() =
default;
121 virtual void importContent(
122 ::std::shared_ptr<::ImportContext> context,
123 ::Core::PathBuffer<::std::string>
const& mcContentPath,
125 ::LoadImportedLevelData loadLevelData,
128 ::std::string
const& levelId
135 MCAPI ExternalContentManager(
136 ::Bedrock::NotNullNonOwnerPtr<::LevelLoader>
const& levelLoader,
137 ::IResourcePackRepository& packRepository,
138 ::ResourcePackManager& packManager,
139 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>
const& templateManager,
140 ::PackManifestFactory& manifestFactory,
141 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
const& keyProvider,
142 ::std::shared_ptr<::SkinRepository> skinRepo,
143 ::PersonaRepository& personaRepo,
144 ::PackSourceFactory& packSourceFactory,
145 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
146 bool isEditorModeEnabled
149 MCAPI
void _importMCWorld(
150 ::std::shared_ptr<::ImportContext> context,
151 ::Core::Path
const& mcWorldPath,
153 ::LoadImportedLevelData loadLevelData,
154 ::std::string
const& levelId
157 MCAPI
void _packImportCompleted();
164 ::Bedrock::NotNullNonOwnerPtr<::LevelLoader>
const& levelLoader,
165 ::IResourcePackRepository& packRepository,
166 ::ResourcePackManager& packManager,
167 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>
const& templateManager,
168 ::PackManifestFactory& manifestFactory,
169 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
const& keyProvider,
170 ::std::shared_ptr<::SkinRepository> skinRepo,
171 ::PersonaRepository& personaRepo,
172 ::PackSourceFactory& packSourceFactory,
173 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
174 bool isEditorModeEnabled
181 MCAPI
void $importContent(
182 ::std::shared_ptr<::ImportContext> context,
183 ::Core::PathBuffer<::std::string>
const& mcContentPath,
185 ::LoadImportedLevelData loadLevelData,
188 ::std::string
const& levelId
Definition EnableNonOwnerReferences.h:7
Definition ExternalContentManagerProxy.h:5
Definition ExternalContentManager.h:5
Definition IContentKeyProvider.h:13
Definition IResourcePackRepository.h:35
Definition ImportContext.h:5
Definition LevelLoader.h:5
Definition PackManifestFactory.h:21
Definition PackSourceFactory.h:33
Definition PersonaRepository.h:5
Definition ResourceLoadManager.h:18
Definition ResourcePackManager.h:36
Definition SkinRepository.h:5
Definition TaskGroup.h:86
Definition WorldTemplateManager.h:21
Definition ExternalContentManager.h:15
Definition ExternalContentManager.h:19
Definition ExternalContentManager.h:17