29class ContainerScreenValidation {
33 ::ll::TypedStorage<8, 40, ::ContainerScreenContext> mScreenContext;
34 ::ll::TypedStorage<4, 4, ::ContainerValidationCaller> mCaller;
35 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, uint64>> mContainerIndexMap;
39 ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::ContainerValidationBase const>>>
40 mContainerValidatorMap;
41 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container>>>
42 mPredictiveContainers;
43 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidatorBase>> mContainerScreenValidator;
44 ::ll::TypedStorage<8, 24, ::std::vector<::ContainerValidationLayer>> mValidationStack;
45 ::ll::TypedStorage<4, 12, ::ContainerValidationDebug const> mDebug;
50 ContainerScreenValidation();
55 virtual ~ContainerScreenValidation();
57 virtual ::ContainerValidationResult
58 tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
60 virtual ::ContainerValidationCraftResult
61 getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
63 virtual ::ContainerValidationResult tryActivate();
69 MCAPI ContainerScreenValidation(
71 ::ContainerValidationCaller caller,
72 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
79 bool isInternalTransfer
84 MCAPI ::ContainerValidationSlotInfo
87 MCAPI
bool _dropItems();
89 MCAPI ::std::shared_ptr<::ContainerValidationBase const>
92 MCAPI
bool _propagateContainers();
94 MCAPI
int _tryAddItem(
98 bool allowPartialSuccess
106 MCAPI
int _trySetItem(
109 bool isWholeStackTransfer,
110 bool allowPartialSuccess,
111 bool isInternalTransfer
114 MCAPI ::ContainerValidationResult _tryTransferSpecial(
117 ::ContainerScreenRequestActionType actionType
121 MCAPI ::std::optional<::ContainerIterationRange>
125 MCAPI ::std::shared_ptr<::SimpleSparseContainer>
128 MCAPI
bool isCraftingImplemented();
131 MCAPI
void postRequest();
134 MCAPI
bool tryCommitActionResults();
144 MCAPI ::ContainerValidationResult
147 MCAPI ::ContainerValidationResult
150 MCAPI ::ContainerValidationResult tryTransfer(
154 bool isAllowingPartialTransfer
161 MCAPI static ::std::unique_ptr<::ContainerScreenValidation> makeContainerScreenValidation(
163 ::ContainerValidationCaller caller,
164 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
173 ::ContainerValidationCaller caller,
174 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
187 MCAPI ::ContainerValidationResult
188 $tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
190 MCAPI ::ContainerValidationCraftResult
191 $getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
193 MCFOLD ::ContainerValidationResult $tryActivate();
Definition ContainerScreenContext.h:19