25class TradeContainerManagerController :
public ::ContainerManagerController {
29 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::TradeContainerManagerModel>> mTradeContainerMangerModel;
30 ::ll::TypedStorage<4, 4, int> mCurrentRecipeIndex;
31 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
32 ::ll::TypedStorage<8, 128, ::ItemInstance> mResultPreviewItem;
33 ::ll::TypedStorage<8, 8, ::MerchantRecipe*> mResultPreviewRecipe;
40 TradeContainerManagerController();
46 virtual ~TradeContainerManagerController() =
default;
48 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
50 virtual ::ItemStackBase
const& getTakeableItemStackBase(
::SlotData const& slot)
const ;
54 virtual bool handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot) ;
58 virtual int handleAutoPlace(
61 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
62 ::std::vector<::AutoPlaceResult>& destinations
73 virtual ::CreateContainerItemScope
76 virtual ::CreateContainerItemScope
86 MCNAPI
explicit TradeContainerManagerController(::std::weak_ptr<::TradeContainerManagerModel> pModel);
89 _consumeMaterials(
::ItemStack const& containerItem,
int amount, ::ContainerEnumName inputContainerEnumName);
91 MCNAPI
void _createResult(
bool shouldPlayAudio);
93 MCNAPI ::MerchantRecipe* _getActiveRecipe();
97 MCNAPI
void _setupCallbacks();
99 MCNAPI ::std::string getDisplayName();
101 MCNAPI ::MerchantRecipe* getRecipe(
int CurrentIndex);
103 MCNAPI
void setRecipeIndex(
int index);
111 MCNAPI
void* $ctor(::std::weak_ptr<::TradeContainerManagerModel> pModel);
119 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
121 MCNAPI ::ItemStackBase
const& $getTakeableItemStackBase(
::SlotData const& slot)
const;
125 MCNAPI
bool $handleTakeAmount(
::SlotData const& dstSlot,
int amount,
::SlotData const& srcSlot);
129 MCNAPI
int $handleAutoPlace(
132 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
133 ::std::vector<::AutoPlaceResult>& destinations
140 MCNAPI
bool $handleAddToStack(
::SlotData const& dstSlot,
::SlotData const& srcSlot, ::ItemTakeType type);
142 MCNAPI ::CreateContainerItemScope