26class TradeContainerManagerController :
public ::ContainerManagerController {
30 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::TradeContainerManagerModel>> mTradeContainerMangerModel;
31 ::ll::TypedStorage<4, 4, int> mCurrentRecipeIndex;
32 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
33 ::ll::TypedStorage<8, 128, ::ItemInstance> mResultPreviewItem;
34 ::ll::TypedStorage<8, 8, ::MerchantRecipe*> mResultPreviewRecipe;
41 TradeContainerManagerController();
48 virtual ~TradeContainerManagerController() =
default;
50 virtual ~TradeContainerManagerController() ;
54 virtual bool isOutputSlot(::std::string
const&)
const ;
56 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
60 virtual ::ItemStackBase
const& getTakeableItemStackBase(
::SlotData const&)
const ;
62 virtual ::ItemStackBase
const& getTakeableItemStackBase(
::SlotData const& slot)
const ;
74 virtual void handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot) ;
84 virtual int handleAutoPlace(
87 ::std::vector<::AutoPlaceItem>
const&,
88 ::std::vector<::AutoPlaceResult>&
91 virtual int handleAutoPlace(
94 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
95 ::std::vector<::AutoPlaceResult>& destinations
119 virtual ::CreateContainerItemScope
122 virtual ::CreateContainerItemScope
132 MCNAPI
explicit TradeContainerManagerController(::std::weak_ptr<::TradeContainerManagerModel> pModel);
134 MCNAPI
void _consumeIngredients(uchar numCrafts);
137 _consumeMaterials(
::ItemStack const& containerItem,
int amount, ::ContainerEnumName inputContainerEnumName);
139 MCNAPI
void _createResult(
bool shouldPlayAudio);
144 MCNAPI ::MerchantRecipe* _getActiveRecipe();
148 MCNAPI
void _moveItemsBackToInventory();
150 MCNAPI
void _setupCallbacks();
152 MCNAPI
int getAvailableRecipeListSize();
154 MCNAPI ::std::string getDisplayName();
156 MCNAPI ::MerchantRecipe* getRecipe(
int CurrentIndex);
158 MCNAPI
void recipeChanged();
160 MCNAPI
void setRecipeIndex(
int index);
168 MCNAPI
void* $ctor(::std::weak_ptr<::TradeContainerManagerModel> pModel);
182 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
184 MCNAPI ::ItemStackBase
const& $getTakeableItemStackBase(
::SlotData const& slot)
const;
188 MCNAPI
void $handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot);
192 MCNAPI
int $handleAutoPlace(
195 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
196 ::std::vector<::AutoPlaceResult>& destinations
203 MCNAPI
void $handleAddToStack(
::SlotData const& dstSlot,
::SlotData const& srcSlot, ::ItemTakeType type);
205 MCNAPI ::CreateContainerItemScope