LeviLamina
Loading...
Searching...
No Matches
DimensionRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/game_refs/OwnerPtr.h"
8#include "mc/deps/game_refs/WeakRef.h"
9#include "mc/world/level/dimension/DimensionIdType.h"
10
11// auto generated forward declare list
12// clang-format off
13class Dimension;
14// clang-format on
15
16class DimensionRegistry : public ::Bedrock::EnableNonOwnerReferences {
17public:
18 // DimensionRegistry inner types define
19 using size_type = uint64;
20
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 64, ::std::unordered_map<::DimensionIdType, ::OwnerPtr<::Dimension>>> mDimensions;
25 // NOLINTEND
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ~DimensionRegistry() /*override*/ = default;
31 // NOLINTEND
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI DimensionRegistry();
37
38 MCFOLD void forEachDimension(::std::function<bool(::Dimension&)> callback);
39
40 MCFOLD void forEachDimension(::std::function<bool(::Dimension const&)> callback) const;
41
42 MCAPI ::WeakRef<::Dimension> getDimensionAtIndex(uint index) const;
43
44 MCFOLD uint64 getNumDimensions() const;
45
46 MCAPI bool isEmpty() const;
47
48 MCAPI ::WeakRef<::Dimension> lookupById(::DimensionIdType id) const;
49
50 MCAPI ::WeakRef<::Dimension> registerDimension(::DimensionIdType id, ::OwnerPtr<::Dimension> dimension);
51
52 MCAPI void shutdown();
53 // NOLINTEND
54
55public:
56 // constructor thunks
57 // NOLINTBEGIN
58 MCAPI void* $ctor();
59 // NOLINTEND
60
61public:
62 // vftables
63 // NOLINTBEGIN
64 MCNAPI static void** $vftable();
65 // NOLINTEND
66};
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition Dimension.h:88
Definition OwnerPtr.h:7
Definition DimensionIdType.h:8