LeviLamina
Loading...
Searching...
No Matches
CameraAimAssistDataRegistryComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/puv/LoadResult.h"
10#include "mc/deps/puv/Loader.h"
11#include "mc/platform/threading/Mutex.h"
12
13// auto generated forward declare list
14// clang-format off
17class EntityContext;
21class PackInstance;
22class PacketSender;
25namespace Core { class Path; }
26namespace SharedTypes::v1_21_120 { struct CameraAimAssistPresetDefinition; }
27namespace SharedTypes::v1_21_120 { struct CameraAimAssistPresetFile; }
28namespace SharedTypes::v1_21_50 { struct CameraAimAssistCategoriesFile; }
29namespace SharedTypes::v1_21_50 { struct CameraAimAssistCategoryDefinition; }
30namespace cereal { struct ReflectionCtx; }
31// clang-format on
32
33class CameraAimAssistDataRegistryComponent : public ::Bedrock::EnableNonOwnerReferences {
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<
38 8,
39 64,
40 ::std::unordered_map<::HashedString, ::SharedTypes::v1_21_120::CameraAimAssistPresetDefinition>>
41 mPresets;
42 ::ll::TypedStorage<
43 8,
44 64,
45 ::std::unordered_map<::HashedString, ::SharedTypes::v1_21_50::CameraAimAssistCategoryDefinition>>
46 mCategories;
47 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mRegistriesLock;
48 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 CameraAimAssistDataRegistryComponent& operator=(CameraAimAssistDataRegistryComponent const&);
54 CameraAimAssistDataRegistryComponent(CameraAimAssistDataRegistryComponent const&);
55 CameraAimAssistDataRegistryComponent();
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI explicit CameraAimAssistDataRegistryComponent(::IMinecraftEventing& eventing);
61
62 MCAPI ::Puv::LoadResult<::SharedTypes::v1_21_50::CameraAimAssistCategoriesFile> _categoriesPackForEachCallback(
63 ::EntityContext& levelEntity,
67 ::PackInstance const& pack,
68 ::std::string& fileData,
69 ::Core::Path const& filenameWithExtension
70 );
71
72 MCAPI ::Puv::LoadResult<::SharedTypes::v1_21_50::CameraAimAssistCategoriesFile> _parseAndLoadAimAssistCategories(
73 ::EntityContext& levelEntity,
77 ::std::string const& fileData
78 );
79
80 MCAPI ::Puv::LoadResult<::SharedTypes::v1_21_120::CameraAimAssistPresetFile> _parseAndLoadAimAssistPreset(
81 ::EntityContext& levelEntity,
85 ::std::string const& fileData
86 );
87
88 MCAPI ::Puv::LoadResult<::SharedTypes::v1_21_120::CameraAimAssistPresetFile> _presetsPackForEachCallback(
89 ::EntityContext& levelEntity,
93 ::PackInstance const& pack,
94 ::std::string& fileData,
95 ::Core::Path const& filenameWithExtension
96 );
97
98 MCAPI void _reset();
99
100 MCAPI bool _validatePresetCategorySetting(::std::string const& categoryId) const;
101
102 MCAPI ::SharedTypes::v1_21_50::CameraAimAssistCategoryDefinition const&
104
105 MCAPI ::SharedTypes::v1_21_120::CameraAimAssistPresetDefinition const&
107
108 MCFOLD ::std::unordered_map<::HashedString, ::SharedTypes::v1_21_50::CameraAimAssistCategoryDefinition> const&
109 getCategories() const;
110
111 MCFOLD ::std::unordered_map<::HashedString, ::SharedTypes::v1_21_120::CameraAimAssistPresetDefinition> const&
112 getPresets() const;
113
114 MCAPI void loadJsonFilesForServer(
115 ::EntityContext& levelEntity,
117 ::ResourcePackManager const& resourcePackManager,
119 );
120
121 MCAPI ::CameraAimAssistPresetsPacket makePresetsPacketFromFullRegistry() const;
122
123 MCAPI ::CameraAimAssistPresetsPacket makeUpdatePresetsPacketFromDirtyRegistry(
124 ::CameraAimAssistDataRegistryDirtyComponent const& registryDirtyComponent
125 ) const;
126
127 MCAPI ::SharedTypes::v1_21_50::CameraAimAssistCategoryDefinition const*
128 tryGetCategory(::HashedString const& id) const;
129
130 MCAPI ::SharedTypes::v1_21_120::CameraAimAssistPresetDefinition const* tryGetPreset(::HashedString const& id) const;
131
132 MCAPI void updateServerAndSendRegistryToClient(
133 ::PacketSender& packetSender,
134 ::CameraAimAssistRegistryComponent& aimAssistRegistry,
135 ::NetworkIdentifier const& source
136 );
137
138 MCAPI void updateServerAndSynchronizeWithClients(
139 ::CameraAimAssistDataRegistryDirtyComponent const& registryDirtyComponent,
140 ::CameraAimAssistRegistryComponent& aimAssistRegistry,
141 ::PacketSender& packetSender
142 );
143 // NOLINTEND
144
145public:
146 // constructor thunks
147 // NOLINTBEGIN
148 MCAPI void* $ctor(::IMinecraftEventing& eventing);
149 // NOLINTEND
150
151public:
152 // vftables
153 // NOLINTBEGIN
154 MCNAPI static void** $vftable();
155 // NOLINTEND
156};
Definition EnableNonOwnerReferences.h:7
Definition NonOwnerPointer.h:9
static MCAPI void ** $vftable()
Definition CameraAimAssistPresetsPacket.h:19
Definition CameraAimAssistRegistryComponent.h:15
Definition Path.h:12
Definition EntityContext.h:17
Definition HashedString.h:5
Definition IMinecraftEventing.h:138
Definition LinkedAssetValidator.h:8
Definition NetworkIdentifier.h:10
Definition PackInstance.h:28
Definition PacketSender.h:17
Definition Loader.h:8
Definition ResourcePackManager.h:35
Definition CameraAimAssistDataRegistryDirtyComponent.h:8
Definition CameraAimAssistPresetDefinition.h:17
Definition CameraAimAssistPresetFile.h:15
Definition CameraAimAssistCategoriesFile.h:15
Definition CameraAimAssistCategoryDefinition.h:16
Definition ReflectionCtx.h:11
Definition ctx.h:5