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 MCAPI void processOwnedEntityLimboForPlayer(
57 ::ActorUniqueID playerId,
58 ::IAddActorEntityProxy& addActorEntityProxy,
59 ::DimensionHeightRange const& heightRange,
60 ::Vec3 const& spawnPosition
61 );
62
63 MCAPI void saveOwnedLimboActorsForPlayer(::ActorUniqueID playerId) const;
64
65 MCAPI void transferActorToOwnedEntityLimbo(::ActorUniqueID playerUniqueID, ::Actor& actor);
66
67 MCAPI ::std::unique_ptr<::CompoundTag> transferAgentToOwnedEntityLimbo(::Actor& agent);
68
69 MCAPI ~PlayerLimboActorManager();
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCAPI static ::std::string getOwnedEntityLimboStorageKeyForPlayer(::ActorUniqueID playerId);
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(
82 ::Bedrock::NotNullNonOwnerPtr<::LevelStorage> levelStorage,
83 ::Bedrock::NotNullNonOwnerPtr<::ActorManager> actorManager,
84 ::Bedrock::NotNullNonOwnerPtr<::ActorFactory> actorFactory
85 );
86 // NOLINTEND
87
88public:
89 // destructor thunk
90 // NOLINTBEGIN
91 MCAPI void $dtor();
92 // NOLINTEND
93};
Definition ActorFactory.h:34
Definition ActorManager.h:32
Definition Actor.h:123
Definition CompoundTag.h:23
Definition DimensionHeightRange.h:5
Definition IAddActorEntityProxy.h:10
Definition LevelStorage.h:26
Definition Vec3.h:10
Definition ActorUniqueID.h:10