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;
21namespace MinecraftCamera { struct RegisteredCamera; }
22namespace SharedTypes::v1_21_100 { struct CameraDefinitions; }
23namespace SharedTypes::v1_21_90 { struct CameraPreset; }
24// clang-format on
25
27public:
28 // CameraRegistry inner types define
29 using CameraLoader = ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>;
30
31 using RegisteredCamera = ::MinecraftCamera::RegisteredCamera;
32
33 using ComponentInitializer = void (*)(::EntityContext&, ::SharedTypes::v1_21_100::CameraDefinitions const&);
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 128, ::cereal::ReflectionCtx> mReflectionCtx;
39 ::ll::TypedStorage<8, 264, ::Bedrock::Resources::CategoryLoader<::Bedrock::Resources::SharedSlicesTraits<2>>>
40 mLoader;
41 ::ll::TypedStorage<
42 8,
43 24,
44 ::std::vector<void (*)(::EntityContext&, ::SharedTypes::v1_21_100::CameraDefinitions const&)>>
45 mComponentInitializers;
46 ::ll::TypedStorage<8, 24, ::std::vector<::MinecraftCamera::RegisteredCamera>> mCameras;
47 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::EntityId>>> mCameraEntities;
48 ::ll::TypedStorage<8, 32, ::OwnerPtr<::EntityId>> mGameCamera;
49 ::ll::TypedStorage<8, 32, ::OwnerPtr<::EntityId>> mDebugCamera;
50 // NOLINTEND
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~CameraRegistry() /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI CameraRegistry();
62
63 MCAPI void _createEntityFromPreset(
64 uint64 presetIndex,
65 ::EntityRegistry& entityRegistry,
66 ::SharedTypes::v1_21_90::CameraPreset const& combinedPreset,
67 ::SharedTypes::v1_21_100::CameraDefinitions const& definitions,
68 ::Experiments const& experiments
69 );
70
71 MCAPI void createEntities(::EntityRegistry& entityRegistry, ::EcsEventDispatcher& dispatcher);
72
73 MCAPI void loadFrom(::ResourcePackManager const& packManager);
74
75 MCAPI void registerCameraDefinitionFilename(::std::string_view filename);
76
77 MCAPI void
78 setupPresets(::EntityRegistry& entityRegistry, ::CameraPresets const& presets, ::Experiments const& experiments);
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void _applyPresetValues(
85 uint64 presetIndex,
86 ::OwnerPtr<::EntityId>& cameraEntity,
87 ::SharedTypes::v1_21_90::CameraPreset const& preset,
88 ::Experiments const&
89 );
90 // NOLINTEND
91
92public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor();
96 // NOLINTEND
97
98public:
99 // destructor thunk
100 // NOLINTBEGIN
101 MCAPI void $dtor();
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
Definition EnableNonOwnerReferences.h:7
Definition CameraPresets.h:20
Definition CameraRegistry.h:5
static MCAPI void ** $vftable()
Definition EcsEventDispatcher.h:23
Definition EntityContext.h:17
Definition EntityRegistry.h:11
Definition Experiments.h:14
Definition ResourcePackManager.h:35
Definition RegisteredCamera.h:7
Definition CameraDefinitions.h:15
Definition CameraPreset.h:20