LeviLamina
Loading...
Searching...
No Matches
ActorManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Connector.h"
8#include "mc/deps/game_refs/OwnerPtr.h"
9#include "mc/world/actor/ActorInitializationMethod.h"
10#include "mc/world/level/IActorManagerConnector.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
16class Dimension;
17class EntityContext;
21class LevelChunk;
22class WeakEntityRef;
23// clang-format on
24
26public:
27 // member variables
28 // NOLINTBEGIN
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 ActorManager& operator=(ActorManager const&);
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 // vIndex: 3
49 virtual ~ActorManager();
50
51 // vIndex: 0
52 virtual ::Bedrock::PubSub::Connector<void(::Actor&)>& getRegisterEntityAddedConnector() /*override*/;
53
54 // vIndex: 1
55 virtual ::Bedrock::PubSub::Connector<void(::Actor&, ::ActorInitializationMethod)>&
56 getRegisterPostReloadActorConnector() /*override*/;
57
58 // vIndex: 2
59 virtual ::Bedrock::PubSub::Connector<void(::Actor&)>&
60 getRegisterOnRemoveActorEntityReferenceConnector() /*override*/;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI ActorManager(
67 ::std::unique_ptr<::IActorManagerProxy> actorManagerProxy,
68 ::Bedrock::NotNullNonOwnerPtr<::ActorGarbageCollector> actorGarbageCollector
69 );
70
71 MCAPI void _onChunkDiscarded(::LevelChunk& levelChunk);
72
73 MCAPI ::Actor* addActorEntity(::IAddActorEntityProxy& addActorEntityProxy, ::OwnerPtr<::EntityContext> entity);
74
75 MCAPI ::Actor* addGlobalActorEntity(::Dimension& dimension, ::OwnerPtr<::EntityContext> entity);
76
77 MCAPI void cleanupActorEntityReferencesGarbageCollect(::OwnerPtr<::EntityContext> entity);
78
79 MCAPI ::OwnerPtr<::EntityContext> deleteActorEntityFromWorldAndTakeEntity(::WeakEntityRef entityRef);
80
81 MCAPI void forceRemoveActorFromWorld(::Actor& actor);
82
83 MCAPI void onChunkDiscarded(::WeakEntityRef entityRef);
84
85 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
86
87 MCAPI ::OwnerPtr<::EntityContext> removeActorEntityAndTakeEntity(::WeakEntityRef entityRef);
88
89 MCAPI void removeActorEntityReferencesForDeletion(::Actor& actor);
90
91 MCAPI ::OwnerPtr<::EntityContext> removeEntity(::WeakEntityRef entityRef);
92
93 MCAPI ::OwnerPtr<::EntityContext> takeEntity(::WeakEntityRef entityRef, ::LevelChunk& levelChunk);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor(
100 ::std::unique_ptr<::IActorManagerProxy> actorManagerProxy,
101 ::Bedrock::NotNullNonOwnerPtr<::ActorGarbageCollector> actorGarbageCollector
102 );
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCAPI void $dtor();
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCFOLD ::Bedrock::PubSub::Connector<void(::Actor&)>& $getRegisterEntityAddedConnector();
115
116 MCFOLD ::Bedrock::PubSub::Connector<void(::Actor&, ::ActorInitializationMethod)>&
117 $getRegisterPostReloadActorConnector();
118
119 MCAPI ::Bedrock::PubSub::Connector<void(::Actor&)>& $getRegisterOnRemoveActorEntityReferenceConnector();
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCAPI static void** $vftable();
126 // NOLINTEND
127};
Definition ActorGarbageCollector.h:13
Definition ActorManager.h:25
Definition Actor.h:104
Definition Dimension.h:83
Definition EntityContext.h:16
Definition IActorManagerConnector.h:14
Definition IActorManagerProxy.h:10
Definition IAddActorEntityProxy.h:10
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:73
Definition OwnerPtr.h:7
Definition WeakEntityRef.h:14
Definition Alias.h:14