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();
47 virtual ~TradeContainerManagerController() =
default;
49 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
51 virtual ::ItemStackBase
const& getTakeableItemStackBase(
::SlotData const& slot)
const ;
55 virtual void handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot) ;
59 virtual int handleAutoPlace(
62 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
63 ::std::vector<::AutoPlaceResult>& destinations
73 virtual ::CreateContainerItemScope
81 MCNAPI
explicit TradeContainerManagerController(::std::weak_ptr<::TradeContainerManagerModel> pModel);
83 MCNAPI
void _consumeIngredients(uchar numCrafts);
86 _consumeMaterials(
::ItemStack const& containerItem,
int amount, ::ContainerEnumName inputContainerEnumName);
88 MCNAPI
void _createResult(
bool shouldPlayAudio);
93 MCNAPI ::MerchantRecipe* _getActiveRecipe();
97 MCNAPI
void _moveItemsBackToInventory();
99 MCNAPI
void _setupCallbacks();
101 MCNAPI
int getAvailableRecipeListSize();
103 MCNAPI ::std::string getDisplayName();
105 MCNAPI ::MerchantRecipe* getRecipe(
int CurrentIndex);
107 MCNAPI
void setRecipeIndex(
int index);
115 MCNAPI
void* $ctor(::std::weak_ptr<::TradeContainerManagerModel> pModel);
123 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
125 MCNAPI ::ItemStackBase
const& $getTakeableItemStackBase(
::SlotData const& slot)
const;
129 MCNAPI
void $handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot);
133 MCNAPI
int $handleAutoPlace(
136 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
137 ::std::vector<::AutoPlaceResult>& destinations
144 MCNAPI
void $handleAddToStack(
::SlotData const& dstSlot,
::SlotData const& srcSlot, ::ItemTakeType type);
146 MCNAPI ::CreateContainerItemScope