20class MaterialReducerContainerManagerController :
public ::ContainerManagerController {
23 using ActionScope = ::gsl::final_action<::std::function<void()>>;
28 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::MaterialReducerContainerManagerModel>> mModel;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CraftableCompounds>> mCraftableCompounds;
30 ::ll::TypedStorage<8, 8, ::BlockReducer*> mBlockReducer;
31 ::ll::TypedStorage<1, 1, bool> mObservingContainers;
32 ::ll::TypedStorage<8, 40, ::SlotData const> mCreatedItemOutputSlot;
39 MaterialReducerContainerManagerController();
45 virtual ~MaterialReducerContainerManagerController() =
default;
47 virtual bool isOutputSlot(::std::string
const& collectionName)
const ;
49 virtual void closeContainers() ;
53 virtual int handleAutoPlace(
56 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
57 ::std::vector<::AutoPlaceResult>& destinations
67 MCNAPI
explicit MaterialReducerContainerManagerController(
68 ::std::weak_ptr<::MaterialReducerContainerManagerModel> containerManagerModel
75 MCNAPI
bool _hasAnyInput();
77 MCNAPI
bool _hasAnyOutput();
79 MCNAPI
bool canInputAddToCursor();
87 MCNAPI
void* $ctor(::std::weak_ptr<::MaterialReducerContainerManagerModel> containerManagerModel);
95 MCNAPI
bool $isOutputSlot(::std::string
const& collectionName)
const;
97 MCNAPI
void $closeContainers();
101 MCNAPI
int $handleAutoPlace(
104 ::std::vector<::AutoPlaceItem>
const& autoPlaceOrder,
105 ::std::vector<::AutoPlaceResult>& destinations