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/world/item/ItemInstance.h"
11#include "mc/world/item/trading/MerchantRecipe.h"
19namespace Json {
class Value; }
30 enum class LeftTabIndex :
int {};
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;
52 Trade2ScreenController();
57 virtual ~Trade2ScreenController() =
default;
59 virtual ::ui::DirtyFlag tick() ;
61 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
63 virtual void onLeave() ;
65 virtual ::ui::ViewRequest _onContainerSlotPressed(::std::string
const& collectionName,
int index) ;
67 virtual bool _getGestureControlEnabled() const ;
69 virtual
void _registerCoalesceOrder() ;
71 virtual
void _registerAutoPlaceOrder() ;
73 virtual
bool _isStillValid() const ;
75 virtual ::ItemStackBase const&
76 _getVisualItemStackImpl(::std::
string const& collectionName,
int collectionIndex) const ;
78 virtual
void _sendFlyingItem(
79 ::ItemStackBase const& item,
80 ::std::
string const& fromName,
82 ::std::
string const& toName,
84 ::FadeInIconBehavior fadeInIconBehavior
87 virtual ::std::
string _getButtonADescription() ;
93 MCAPI Trade2ScreenController(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
95 MCAPI
void _changeLeftTab(
int dir);
97 MCAPI ::ItemInstance const& _getItemForTrade(::Trade2ScreenController::
TradeItemCollections const& tic) const;
99 MCAPI ::std::
string _getTradeErrorDetails(::ItemStackBase const& item,
bool itemA) const;
101 MCAPI
bool _hasAdjustedBuyCount(::Trade2ScreenController::
TradeItemCollections const& tic) const;
103 MCAPI
void _makeEnchantmentDetails() const;
105 MCAPI
void _makeTradeDetails(
bool itemA) const;
107 MCAPI
void _registerBindings();
109 MCAPI
void _registerEventHandlers();
111 MCAPI
void _registerStateMachine();
117 MCAPI static ::std::string_view const& SELL_ITEM_COLLECTION();
119 MCAPI static ::std::string_view const& TIER_COLLECTION();
121 MCAPI static ::std::string_view const& TRADE_COLLECTION();
123 MCAPI static ::std::string_view const& TRADE_ITEM_1_COLLECTION();
125 MCAPI static ::std::string_view const& TRADE_ITEM_2_COLLECTION();
131 MCAPI
void* $ctor(::std::shared_ptr<::ClientInstanceScreenModel> pModel, ::ActorUniqueID uniqueID);
137 MCAPI ::ui::DirtyFlag $tick();
139 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
141 MCAPI
void $onLeave();
143 MCAPI ::ui::ViewRequest $_onContainerSlotPressed(::std::
string const& collectionName,
int index);
145 MCFOLD
bool $_getGestureControlEnabled() const;
147 MCAPI
void $_registerCoalesceOrder();
149 MCAPI
void $_registerAutoPlaceOrder();
151 MCFOLD
bool $_isStillValid() const;
153 MCAPI ::ItemStackBase const&
154 $_getVisualItemStackImpl(::std::
string const& collectionName,
int collectionIndex) const;
156 MCAPI
void $_sendFlyingItem(
157 ::ItemStackBase const& item,
158 ::std::
string const& fromName,
160 ::std::
string const& toName,
162 ::FadeInIconBehavior fadeInIconBehavior
165 MCAPI ::std::
string $_getButtonADescription();
Definition ClientInstanceScreenModel.h:5
Definition ContainerScreenController.h:5
Definition ItemStackBase.h:44
Definition Trade2ContainerManagerController.h:28
Definition Trade2ScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ActorUniqueID.h:5
Definition Trade2ScreenController.h:15