27class ContainerScreenValidation {
31 ::ll::TypedStorage<8, 40, ::ContainerScreenContext> mScreenContext;
32 ::ll::TypedStorage<4, 4, ::ContainerValidationCaller> mCaller;
33 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, uint64>> mContainerIndexMap;
37 ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::ContainerValidationBase const>>>
38 mContainerValidatorMap;
39 ::ll::TypedStorage<8, 64, ::std::unordered_map<::FullContainerName, ::std::shared_ptr<::Container>>>
40 mPredictiveContainers;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidatorBase>> mContainerScreenValidator;
42 ::ll::TypedStorage<8, 24, ::std::vector<::ContainerValidationLayer>> mValidationStack;
43 ::ll::TypedStorage<4, 12, ::ContainerValidationDebug const> mDebug;
48 ContainerScreenValidation();
53 virtual ~ContainerScreenValidation();
55 virtual ::ContainerValidationResult
56 tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
58 virtual ::ContainerValidationCraftResult
59 getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
61 virtual ::ContainerValidationResult tryActivate();
67 MCAPI ContainerScreenValidation(
69 ::ContainerValidationCaller caller,
70 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
75 MCAPI ::ContainerValidationSlotInfo
78 MCAPI
bool _dropItems();
80 MCAPI ::std::shared_ptr<::ContainerValidationBase const>
83 MCAPI
bool _propagateContainers();
92 MCAPI
int _trySetItem(
95 bool isWholeStackTransfer,
96 bool allowPartialSuccess,
97 bool isInternalTransfer
100 MCAPI ::ContainerValidationResult _tryTransferSpecial(
103 ::ContainerScreenRequestActionType actionType
106 MCAPI ::std::shared_ptr<::SimpleSparseContainer>
109 MCAPI
bool tryCommitActionResults();
113 MCAPI ::ContainerValidationResult
116 MCAPI ::ContainerValidationResult
119 MCAPI ::ContainerValidationResult tryTransfer(
123 bool isAllowingPartialTransfer
130 MCAPI static ::std::unique_ptr<::ContainerScreenValidation> makeContainerScreenValidation(
132 ::ContainerValidationCaller caller,
133 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
142 ::ContainerValidationCaller caller,
143 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
156 MCAPI ::ContainerValidationResult
157 $tryCraft(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
159 MCAPI ::ContainerValidationCraftResult
160 $getCraftResults(::std::unique_ptr<::ContainerValidationCraftInputs> craftInputs, uchar
const numCrafts);
162 MCFOLD ::ContainerValidationResult $tryActivate();
Definition ContainerScreenContext.h:17