LeviLamina
Loading...
Searching...
No Matches
PlayerLimboActorManager.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/legacy/ActorUniqueID.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class ActorFactory;
13class ActorManager;
14class CompoundTag;
17class LevelStorage;
18class Vec3;
19// clang-format on
20
21class PlayerLimboActorManager {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::std::vector<::std::unique_ptr<::CompoundTag>>>>
26 mOwnedActorsDimensionTransferLimbo;
27 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> const> mLevelStorage;
28 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ActorManager>> mActorManager;
29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ActorFactory> const> mActorFactory;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 PlayerLimboActorManager();
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI PlayerLimboActorManager(
40 ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> levelStorage,
41 ::Bedrock::NotNullNonOwnerPtr<::ActorManager> actorManager,
42 ::Bedrock::NotNullNonOwnerPtr<::ActorFactory> actorFactory
43 );
44
45 MCAPI void clearOwnedEntityLimboForPlayer(::ActorUniqueID playerId);
46
47 MCAPI void loadAllOwnedLimboActors();
48
49 MCAPI ::Actor* processOwnedAgentForPlayer(
50 ::CompoundTag& agentCompoundTag,
51 ::IAddActorEntityProxy& addActorEntityProxy,
52 ::DimensionHeightRange const& heightRange,
53 ::Vec3 const& spawnPosition
54 );
55
56#ifdef LL_PLAT_C
57 MCAPI void processOwnedEntityLimboForPlayer(
58 ::ActorUniqueID playerId,
59 ::IAddActorEntityProxy& addActorEntityProxy,
60 ::DimensionHeightRange const& heightRange,
61 ::Vec3 const& spawnPosition
62 );
63
64 MCAPI void saveOwnedLimboActorsForPlayer(::ActorUniqueID playerId) const;
65#endif
66
67 MCAPI void transferActorToOwnedEntityLimbo(::ActorUniqueID playerUniqueID, ::Actor& actor);
68
69#ifdef LL_PLAT_C
70 MCAPI ::std::unique_ptr<::CompoundTag> transferAgentToOwnedEntityLimbo(::Actor& agent);
71#endif
72
73 MCAPI ~PlayerLimboActorManager();
74 // NOLINTEND
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCAPI static ::std::string getOwnedEntityLimboStorageKeyForPlayer(::ActorUniqueID playerId);
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void* $ctor(
86 ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> levelStorage,
87 ::Bedrock::NotNullNonOwnerPtr<::ActorManager> actorManager,
88 ::Bedrock::NotNullNonOwnerPtr<::ActorFactory> actorFactory
89 );
90 // NOLINTEND
91
92public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCAPI void $dtor();
96 // NOLINTEND
97};
Definition ActorFactory.h:33
Definition ActorManager.h:30
Definition Actor.h:113
Definition CompoundTag.h:18
Definition DimensionHeightRange.h:5
Definition IAddActorEntityProxy.h:10
Definition LevelStorage.h:25
Definition Vec3.h:10
Definition ActorUniqueID.h:5