3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/cereal/ReflectionCtx.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/deps/ecs/EntityId.h"
9#include "mc/deps/game_refs/OwnerPtr.h"
10#include "mc/deps/resource_processing/category/CategoryLoader.h"
11#include "mc/deps/resource_processing/category/SharedSlicesTraits.h"
30 using CameraLoader = ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>;
32 using RegisteredCamera = ::MinecraftCamera::RegisteredCamera;
34 using ComponentInitializer = void (*)(::EntityContext&, ::SharedTypes::v1_21_100::CameraDefinitions
const&);
39 ::ll::TypedStorage<8, 128, ::cereal::ReflectionCtx> mReflectionCtx;
40 ::ll::TypedStorage<8, 272, ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>>
45 ::std::vector<void (*)(::EntityContext&, ::SharedTypes::v1_21_100::CameraDefinitions
const&)>>
46 mComponentInitializers;
47 ::ll::TypedStorage<8, 24, ::std::vector<::MinecraftCamera::RegisteredCamera>> mCameras;
48 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::EntityId>>> mCameraEntities;
49 ::ll::TypedStorage<8, 32, ::OwnerPtr<::EntityId>> mGameCamera;
50 ::ll::TypedStorage<8, 32, ::OwnerPtr<::EntityId>> mDebugCamera;
56 virtual ~CameraRegistry() =
default;
62 MCAPI CameraRegistry();
64 MCAPI
void createEntities(::EntityRegistry& entityRegistry, ::EcsEventDispatcher& dispatcher);
66 MCAPI
void loadFrom(::ResourcePackManager
const& packManager, ::IMinecraftEventing& eventing);
69 setupPresets(::EntityRegistry& entityRegistry, ::CameraPresets
const& presets, ::Experiments
const& experiments);
75 MCAPI
static void _applyPresetValues(
77 ::OwnerPtr<::EntityId>& cameraEntity,
78 ::SharedTypes::v1_26_50::CameraPreset
const& preset,
79 ::Experiments
const& experiments
Definition EnableNonOwnerReferences.h:7
Definition CameraPresets.h:20
Definition CameraRegistry.h:5
static MCAPI void ** $vftable()
Definition EcsEventDispatcher.h:23
Definition EntityContext.h:15
Definition EntityRegistry.h:10
Definition Experiments.h:14
Definition IMinecraftEventing.h:147
Definition ResourcePackManager.h:36
Definition RegisteredCamera.h:7
Definition CameraDefinitions.h:15
Definition CameraPreset.h:11