LeviLamina
Loading...
Searching...
No Matches
Trade2ScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/ViewRequest.h"
8#include "mc/client/gui/screens/controllers/ContainerScreenController.h"
9#include "mc/client/gui/screens/controllers/FadeInIconBehavior.h"
10#include "mc/world/item/ItemInstance.h"
11#include "mc/world/item/trading/MerchantRecipe.h"
12
13// auto generated forward declare list
14// clang-format off
16class ItemStackBase;
18struct ActorUniqueID;
19namespace Json { class Value; }
20// clang-format on
21
23public:
24 // Trade2ScreenController inner types declare
25 // clang-format off
27 // clang-format on
28
29 // Trade2ScreenController inner types define
30 enum class LeftTabIndex : int {};
31
32 struct TradeItemCollections {};
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Trade2ContainerManagerController>> mTradeContainerManagerController;
38 ::ll::TypedStorage<8, 24, ::std::vector<int>> mNumberOfTradesByTier;
39 ::ll::TypedStorage<4, 4, int> mSelectedLeftTab;
40 ::ll::TypedStorage<4, 4, int> mLastExp;
41 ::ll::TypedStorage<4, 4, int> mNewExp;
42 ::ll::TypedStorage<4, 4, int> mExpAnimationTimer;
43 ::ll::TypedStorage<1, 1, bool> mShowVisualOffer;
44 ::ll::TypedStorage<8, 432, ::MerchantRecipe> mVisualOffer;
45 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualBuyAItem;
46 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualBuyBItem;
47 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualSellItem;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 Trade2ScreenController();
53
54public:
55 // virtual functions
56 // NOLINTBEGIN
57 virtual ~Trade2ScreenController() /*override*/ = default;
58
59 virtual ::ui::DirtyFlag tick() /*override*/;
60
61 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
62
63 virtual void onLeave() /*override*/;
64
65 virtual ::ui::ViewRequest _onContainerSlotPressed(::std::string const& collectionName, int index) /*override*/;
66
67 virtual bool _getGestureControlEnabled() const /*override*/;
68
69 virtual void _registerCoalesceOrder() /*override*/;
70
71 virtual void _registerAutoPlaceOrder() /*override*/;
72
73 virtual bool _isStillValid() const /*override*/;
74
75 virtual ::ItemStackBase const&
76 _getVisualItemStackImpl(::std::string const& collectionName, int collectionIndex) const /*override*/;
77
78 virtual void _sendFlyingItem(
79 ::ItemStackBase const& item,
80 ::std::string const& fromName,
81 int fromIndex,
82 ::std::string const& toName,
83 int toIndex,
84 ::FadeInIconBehavior fadeInIconBehavior
85 ) /*override*/;
86
87 virtual ::std::string _getButtonADescription() /*override*/;
88 // NOLINTEND
89
90public:
91 // member functions
92 // NOLINTBEGIN
93 MCAPI Trade2ScreenController(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
94
95 MCAPI void _changeLeftTab(int dir);
96
97 MCAPI ::ItemInstance const& _getItemForTrade(::Trade2ScreenController::TradeItemCollections const& tic) const;
98
99 MCAPI ::std::string _getTradeErrorDetails(::ItemStackBase const& item, bool itemA) const;
100
101 MCAPI bool _hasAdjustedBuyCount(::Trade2ScreenController::TradeItemCollections const& tic) const;
102
103 MCAPI void _makeEnchantmentDetails() const;
104
105 MCAPI void _makeTradeDetails(bool itemA) const;
106
107 MCAPI void _registerBindings();
108
109 MCAPI void _registerEventHandlers();
110
111 MCAPI void _registerStateMachine();
112 // NOLINTEND
113
114public:
115 // static variables
116 // NOLINTBEGIN
117 MCAPI static ::std::string_view const& SELL_ITEM_COLLECTION();
118
119 MCAPI static ::std::string_view const& TIER_COLLECTION();
120
121 MCAPI static ::std::string_view const& TRADE_COLLECTION();
122
123 MCAPI static ::std::string_view const& TRADE_ITEM_1_COLLECTION();
124
125 MCAPI static ::std::string_view const& TRADE_ITEM_2_COLLECTION();
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
131 MCAPI void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCAPI ::ui::DirtyFlag $tick();
138
139 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
140
141 MCAPI void $onLeave();
142
143 MCAPI ::ui::ViewRequest $_onContainerSlotPressed(::std::string const& collectionName, int index);
144
145 MCFOLD bool $_getGestureControlEnabled() const;
146
147 MCAPI void $_registerCoalesceOrder();
148
149 MCAPI void $_registerAutoPlaceOrder();
150
151 MCFOLD bool $_isStillValid() const;
152
153 MCAPI ::ItemStackBase const&
154 $_getVisualItemStackImpl(::std::string const& collectionName, int collectionIndex) const;
155
156 MCAPI void $_sendFlyingItem(
157 ::ItemStackBase const& item,
158 ::std::string const& fromName,
159 int fromIndex,
160 ::std::string const& toName,
161 int toIndex,
162 ::FadeInIconBehavior fadeInIconBehavior
163 );
164
165 MCAPI ::std::string $_getButtonADescription();
166 // NOLINTEND
167
168public:
169 // vftables
170 // NOLINTBEGIN
172
173 MCNAPI static void** $vftableForScreenController();
174 // NOLINTEND
175};
Definition ClientInstanceScreenModel.h:5
Definition ContainerScreenController.h:5
Definition ItemStackBase.h:44
Definition Value.h:16
Definition Trade2ContainerManagerController.h:28
Definition Trade2ScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ActorUniqueID.h:5
Definition Trade2ScreenController.h:15