LeviLamina
Loading...
Searching...
No Matches
DimensionManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/game_refs/OwnerPtr.h"
5
6// auto generated inclusion list
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/core/utility/pub_sub/Connector.h"
10#include "mc/deps/core/utility/pub_sub/Publisher.h"
11#include "mc/deps/game_refs/OwnerPtr.h"
12#include "mc/deps/game_refs/WeakRef.h"
13#include "mc/world/level/IDimensionManagerConnector.h"
14
15// auto generated forward declare list
16// clang-format off
17class Dimension;
20namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
21// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<::DimensionType, ::OwnerPtr<::Dimension>>> mDimensions;
29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> const> mDimensionFactory;
30 ::ll::TypedStorage<
31 8,
32 128,
34 mOnNewDimensionCreatedPublisher;
35 ::ll::TypedStorage<8, 24, ::std::optional<::DimensionDefinitionGroup>> mDimensionDefinitions;
36 // NOLINTEND
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 // vIndex: 1
42 virtual ~DimensionManager() = default;
43
44 // vIndex: 0
45 virtual ::Bedrock::PubSub::Connector<void(::Dimension&)>& getOnNewDimensionCreatedConnector() /*override*/;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI DimensionManager(
52 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
53 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
54 );
55
56 MCAPI void forEachDimension(::std::function<bool(::Dimension&)> callback);
57
58 MCAPI ::WeakRef<::Dimension> getOrCreateDimension(::DimensionType dimensionType);
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(
65 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
66 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
67 );
68 // NOLINTEND
69
70public:
71 // destructor thunk
72 // NOLINTBEGIN
73
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCFOLD ::Bedrock::PubSub::Connector<void(::Dimension&)>& $getOnNewDimensionCreatedConnector();
80 // NOLINTEND
81
82public:
83 // vftables
84 // NOLINTBEGIN
85 MCAPI static void** $vftable();
86 // NOLINTEND
87};
Definition AutomaticID.h:6
Definition Publisher.h:8
Definition DimensionDefinitionGroup.h:15
Definition DimensionManager.h:24
Definition Dimension.h:83
Definition IDimensionFactory.h:13
Definition IDimensionManagerConnector.h:13