LeviLamina
Loading...
Searching...
No Matches
CameraRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
12
13// auto generated forward declare list
14// clang-format off
15class CameraPresets;
17class EntityContext;
18class EntityRegistry;
19class Experiments;
22namespace MinecraftCamera { struct RegisteredCamera; }
23namespace SharedTypes::v1_21_100 { struct CameraDefinitions; }
24namespace SharedTypes::v1_26_50 { struct CameraPreset; }
25// clang-format on
26
28public:
29 // CameraRegistry inner types define
30 using CameraLoader = ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>;
31
32 using RegisteredCamera = ::MinecraftCamera::RegisteredCamera;
33
34 using ComponentInitializer = void (*)(::EntityContext&, ::SharedTypes::v1_21_100::CameraDefinitions const&);
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 128, ::cereal::ReflectionCtx> mReflectionCtx;
40 ::ll::TypedStorage<8, 272, ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>>
41 mLoader;
42 ::ll::TypedStorage<
43 8,
44 24,
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;
51 // NOLINTEND
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ~CameraRegistry() /*override*/ = default;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI CameraRegistry();
63
64 MCAPI void createEntities(::EntityRegistry& entityRegistry, ::EcsEventDispatcher& dispatcher);
65
66 MCAPI void loadFrom(::ResourcePackManager const& packManager, ::IMinecraftEventing& eventing);
67
68 MCAPI void
69 setupPresets(::EntityRegistry& entityRegistry, ::CameraPresets const& presets, ::Experiments const& experiments);
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCAPI static void _applyPresetValues(
76 uint64 presetIndex,
77 ::OwnerPtr<::EntityId>& cameraEntity,
78 ::SharedTypes::v1_26_50::CameraPreset const& preset,
79 ::Experiments const& experiments
80 );
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor();
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
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