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#include "mc/world/level/dimension/DimensionDefinitionGroup.h"
15
16// auto generated forward declare list
17// clang-format off
18class 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 // prevent constructor by default
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 1
46 virtual ~DimensionManager() = default;
47
48 // vIndex: 0
49 virtual ::Bedrock::PubSub::Connector<void(::Dimension&)>& getOnNewDimensionCreatedConnector() /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
56 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
57 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
58 );
59
60 MCNAPI void forEachDimension(::std::function<bool(::Dimension&)> callback);
61
62 MCNAPI ::WeakRef<::Dimension> getOrCreateDimension(::DimensionType dimensionType);
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCNAPI void* $ctor(
69 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
70 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
71 );
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCNAPI ::Bedrock::PubSub::Connector<void(::Dimension&)>& $getOnNewDimensionCreatedConnector();
78 // NOLINTEND
79
80public:
81 // vftables
82 // NOLINTBEGIN
83 MCNAPI static void** $vftable();
84 // NOLINTEND
85};
Definition AutomaticID.h:6
Definition Publisher.h:8
Definition DimensionManager.h:24
static MCAPI void ** $vftable()
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory > dimensionFactory, ::std::optional<::DimensionDefinitionGroup > dimensionDefinitions)
MCAPI ::WeakRef<::Dimension > getOrCreateDimension(::DimensionType dimensionType)
MCAPI ::Bedrock::PubSub::Connector< void(::Dimension &)> & $getOnNewDimensionCreatedConnector()
MCAPI DimensionManager(::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory > dimensionFactory, ::std::optional<::DimensionDefinitionGroup > dimensionDefinitions)
MCAPI void forEachDimension(::std::function< bool(::Dimension &)> callback)
Definition Dimension.h:83
Definition IDimensionFactory.h:13
Definition IDimensionManagerConnector.h:13