LeviLamina
Loading...
Searching...
No Matches
ActorRuntimeIDManager.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/Subscription.h"
8#include "mc/legacy/ActorRuntimeID.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class EntityContext;
16class WeakEntityRef;
17// clang-format on
18
19class ActorRuntimeIDManager {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 8, ::ActorRuntimeID> mLastRuntimeID;
24 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorRuntimeID, ::WeakEntityRef>> mRuntimeIdMap;
25 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> const> mGameplayUserManager;
26 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnActorEntityAdded;
27 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnRemoveActorEntityReferences;
28 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserResumedSubscription;
29 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserSuspendedSubscription;
30 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAdded;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserRemoved;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 ActorRuntimeIDManager();
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI explicit ActorRuntimeIDManager(::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager);
42
43 MCAPI void _addEntity(::EntityContext const& entity);
44
45 MCAPI void _onActorAdded(::Actor& actor);
46
47 MCAPI void _onRemoveActorEntityReferences(::Actor& actor);
48
49 MCAPI void _removeEntity(::EntityContext const& entity);
50
51 MCAPI ::Actor* getRuntimeActorEntity(::ActorRuntimeID actorId, bool getRemoved) const;
52
53 MCAPI void initialize(::IActorManagerConnector& actorManagerConnector);
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59 MCAPI void* $ctor(::Bedrock::NotNullNonOwnerPtr<::GameplayUserManager> gameplayUserManager);
60 // NOLINTEND
61};
Definition ActorRuntimeID.h:5
Definition Actor.h:105
Definition EntityContext.h:16
Definition GameplayUserManager.h:22
Definition IActorManagerConnector.h:14
Definition WeakEntityRef.h:14