LeviLamina
Loading...
Searching...
No Matches
Trade2ContainerManagerModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/ContainerID.h"
7#include "mc/world/containers/managers/models/LevelContainerManagerModel.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class ItemStack;
14class MerchantRecipe;
16class Player;
17struct ActorUniqueID;
18// clang-format on
19
20class Trade2ContainerManagerModel : public ::LevelContainerManagerModel {
21public:
22 // Trade2ContainerManagerModel inner types define
23 enum class Slot : int {
24 Item1 = 0,
25 Item2 = 1,
26 Sell = 2,
27 Count = 3,
28 };
29
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<4, 4, int> mSelectedTrade;
34 ::ll::TypedStorage<4, 4, int> mTraderVariant;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 Trade2ContainerManagerModel();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~Trade2ContainerManagerModel() /*override*/ = default;
45
46 virtual ::std::vector<::ItemStack> getItemCopies() const /*override*/;
47
48 virtual void setSlot(int slot, ::ItemStack const& item, bool) /*override*/;
49
50 virtual ::ItemStack const& getSlot(int slot) const /*override*/;
51
52 virtual bool isValid(float pickRange) /*override*/;
53
54 virtual void broadcastChanges() /*override*/;
55
56 virtual ::ContainerScreenContext _postInit() /*override*/;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI Trade2ContainerManagerModel(::ContainerID containerId, ::Player& player, ::ActorUniqueID const& uniqueId);
63
64#ifdef LL_PLAT_C
65 MCAPI ::MerchantRecipeList* getAllTrades() const;
66
67 MCAPI int getCurrentTradeExp() const;
68
69 MCFOLD ::std::string getDisplayName();
70
71 MCAPI ::std::string getDisplayNameTag() const;
72
73 MCFOLD ::Actor* getEntity() const;
74
75 MCAPI ::ItemStack const& getEntityCarriedItem() const;
76
77 MCAPI int getEntityMaxTradeTier() const;
78
79 MCAPI int getEntityTradeTier() const;
80
81 MCAPI ::std::vector<int> getNumberOfTradesByTier() const;
82
83 MCAPI ::ItemStack const& getPlayerCarriedItem() const;
84
85 MCAPI ::MerchantRecipe* getSelectedTrade() const;
86
87 MCFOLD int getSelectedTradeIndex() const;
88
89 MCAPI ::MerchantRecipe* getTrade(int tier, int index) const;
90
91 MCAPI int getTradeExpForCurrentRequirement(uint currentExp) const;
92
93 MCAPI int getTradeExpToNextRequirement(uint currentExp) const;
94
95 MCAPI int getTradeIndex(int tier, int index) const;
96
97 MCAPI bool hasAvailableTradeWithSecondItem() const;
98
99 MCAPI bool isSelectedTrade(int tier, int index) const;
100
101 MCAPI void setSelectedTrade(int index);
102
103 MCAPI void setSelectedTrade(int tier, int index);
104#endif
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(::ContainerID containerId, ::Player& player, ::ActorUniqueID const& uniqueId);
111 // NOLINTEND
112
113public:
114 // virtual function thunks
115 // NOLINTBEGIN
116 MCAPI ::std::vector<::ItemStack> $getItemCopies() const;
117
118 MCAPI void $setSlot(int slot, ::ItemStack const& item, bool);
119
120 MCAPI ::ItemStack const& $getSlot(int slot) const;
121
122 MCAPI bool $isValid(float pickRange);
123
124 MCFOLD void $broadcastChanges();
125
126 MCAPI ::ContainerScreenContext $_postInit();
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCAPI static void** $vftable();
135 // NOLINTEND
136};
Definition Actor.h:125
Definition ContainerScreenContext.h:19
Definition ItemStack.h:35
Definition MerchantRecipeList.h:17
Definition MerchantRecipe.h:20
Definition Player.h:137
Definition ActorUniqueID.h:10