LeviLamina
Loading...
Searching...
No Matches
HudContainerManagerModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7#include "mc/world/ContainerID.h"
8#include "mc/world/containers/managers/models/ContainerManagerModel.h"
9
10// auto generated forward declare list
11// clang-format off
13class ItemStack;
14class Player;
16namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
17// clang-format on
18
19class HudContainerManagerModel : public ::ContainerManagerModel {
20public:
21 // HudContainerManagerModel inner types define
22 using DynamicContainerRemovalPublisher = ::Bedrock::PubSub::
23 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>;
24
25 using ItemStackVector = ::std::vector<::ItemStack>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mLastSlots;
31 ::ll::TypedStorage<
32 8,
33 128,
34 ::Bedrock::PubSub::
35 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
36 mOnDynamicContainerRemovalPublisher;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 HudContainerManagerModel();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~HudContainerManagerModel() /*override*/;
47
48 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
49
50 virtual void setSlot(int slot, ::ItemStack const& item, bool) /*override*/;
51
52 virtual ::ItemStack const& getSlot(int slot) const /*override*/;
53
54 virtual void setData(int, int) /*override*/;
55
56 virtual void broadcastChanges() /*override*/;
57
58 virtual ::ContainerScreenContext _postInit() /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI HudContainerManagerModel(::ContainerID containerId, ::Player& player);
65
66#ifdef LL_PLAT_C
67 MCAPI ::std::unordered_set<::FullContainerName> _getDynamicContainersInHotbar();
68
69 MCAPI void cleanUpDynamicContainers();
70
71 MCFOLD ::Bedrock::PubSub::
72 Publisher<void(::std::vector<::std::string> const&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>&
73 getDynamicContainerRemovalConnector();
74
75 MCAPI void refreshHotbar();
76#endif
77 // NOLINTEND
78
79public:
80 // constructor thunks
81 // NOLINTBEGIN
82 MCAPI void* $ctor(::ContainerID containerId, ::Player& player);
83 // NOLINTEND
84
85public:
86 // destructor thunk
87 // NOLINTBEGIN
88 MCAPI void $dtor();
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCFOLD ::std::vector<::ItemStack> $getItemCopies() const;
95
96 MCAPI void $setSlot(int slot, ::ItemStack const& item, bool);
97
98 MCAPI ::ItemStack const& $getSlot(int slot) const;
99
100 MCFOLD void $setData(int, int);
101
102 MCAPI void $broadcastChanges();
103
104 MCAPI ::ContainerScreenContext $_postInit();
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCAPI static void** $vftable();
113 // NOLINTEND
114};
Definition ContainerScreenContext.h:19
Definition ItemStack.h:35
Definition Player.h:136
Definition FullContainerName.h:8