3#include "mc/_HeaderOutputPredefine.h"
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/deps/json/Value.h"
11#include "mc/world/item/ItemInstance.h"
12#include "mc/world/item/trading/MerchantRecipe.h"
31 enum class LeftTabIndex :
int {
41 ::ll::TypedStorage<8, 16, ::Json::Value const> mCollections;
42 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHasTradeItem1Collection;
43 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHasTradeItem2Collection;
44 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHasSellItemCollection;
45 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHasValidTradeItemCollections;
46 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mHasValidTradeToggleCollections;
47 ::ll::TypedStorage<4, 8, ::std::optional<int>> mTierIndex;
48 ::ll::TypedStorage<4, 8, ::std::optional<int>> mTradeIndex;
49 ::ll::TypedStorage<8, 16, ::std::optional<::MerchantRecipe*>> mTrade;
54 TradeItemCollections();
59 MCAPI
explicit TradeItemCollections(::UIPropertyBag
const& bag);
61 MCAPI
int getTierIndex()
const;
63 MCAPI
int getTradeIndex()
const;
65 MCAPI
bool hasSellItemCollection()
const;
67 MCAPI
bool hasTradeItem1Collection()
const;
69 MCAPI
bool hasTradeItem2Collection()
const;
71 MCAPI
bool hasValidTradeToggleCollections()
const;
77 MCAPI
void* $ctor(::UIPropertyBag
const& bag);
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Trade2ContainerManagerController>> mTradeContainerManagerController;
85 ::ll::TypedStorage<8, 24, ::std::vector<int>> mNumberOfTradesByTier;
86 ::ll::TypedStorage<4, 4, int> mSelectedLeftTab;
87 ::ll::TypedStorage<4, 4, int> mLastExp;
88 ::ll::TypedStorage<4, 4, int> mNewExp;
89 ::ll::TypedStorage<4, 4, int> mExpAnimationTimer;
90 ::ll::TypedStorage<1, 1, bool> mShowVisualOffer;
91 ::ll::TypedStorage<8, 432, ::MerchantRecipe> mVisualOffer;
92 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualBuyAItem;
93 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualBuyBItem;
94 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualSellItem;
99 Trade2ScreenController();
104 virtual ~Trade2ScreenController() ;
106 virtual ::ui::DirtyFlag tick() ;
108 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
110 virtual void onLeave() ;
112 virtual ::ui::ViewRequest _onContainerSlotPressed(::std::string
const& collectionName,
int index) ;
114 virtual bool _getGestureControlEnabled() const ;
116 virtual
void _registerCoalesceOrder() ;
118 virtual
void _registerAutoPlaceOrder() ;
120 virtual
bool _isStillValid() const ;
122 virtual ::ItemStackBase const&
123 _getVisualItemStackImpl(::std::
string const& collectionName,
int collectionIndex) const ;
125 virtual
void _sendFlyingItem(
126 ::ItemStackBase const& item,
127 ::std::
string const& fromName,
129 ::std::
string const& toName,
131 ::FadeInIconBehavior fadeInIconBehavior
134 virtual ::std::
string _getButtonADescription() ;
140 MCAPI Trade2ScreenController(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
142 MCAPI
void _changeLeftTab(
int dir);
144 MCAPI
int _getBaseItemCountForTrade(::Trade2ScreenController::
TradeItemCollections const& tic) const;
146 MCAPI ::ItemInstance const& _getItemForTrade(::Trade2ScreenController::
TradeItemCollections const& tic) const;
148 MCAPI ::std::
string _getTradeErrorDetails(::ItemStackBase const& item,
bool itemA) const;
150 MCAPI
bool _hasAdjustedBuyCount(::Trade2ScreenController::
TradeItemCollections const& tic) const;
152 MCAPI
void _makeEnchantmentDetails() const;
154 MCAPI
void _makeTradeDetails(
bool itemA) const;
156 MCAPI
void _registerBindings();
158 MCAPI
void _registerEventHandlers();
160 MCAPI
void _registerStateMachine();
166 MCAPI
void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
178 MCAPI ::ui::DirtyFlag $tick();
180 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
182 MCAPI
void $onLeave();
184 MCAPI ::ui::ViewRequest $_onContainerSlotPressed(::std::
string const& collectionName,
int index);
186 MCAPI
bool $_getGestureControlEnabled() const;
188 MCAPI
void $_registerCoalesceOrder();
190 MCAPI
void $_registerAutoPlaceOrder();
192 MCFOLD
bool $_isStillValid() const;
194 MCAPI ::ItemStackBase const&
195 $_getVisualItemStackImpl(::std::
string const& collectionName,
int collectionIndex) const;
197 MCAPI
void $_sendFlyingItem(
198 ::ItemStackBase const& item,
199 ::std::
string const& fromName,
201 ::std::
string const& toName,
203 ::FadeInIconBehavior fadeInIconBehavior
206 MCAPI ::std::
string $_getButtonADescription();
Definition ClientInstanceScreenModel.h:5
Definition ContainerScreenController.h:5
Definition ItemStackBase.h:52
Definition Trade2ContainerManagerController.h:28
Definition Trade2ScreenController.h:15
Definition Trade2ScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition UIPropertyBag.h:5
Definition ActorUniqueID.h:10