36 ::ll::TypedStorage<8, 8, ::ContainerScreenActionScope*> mCurrentScope;
37 ::ll::TypedStorage<8, 40, ::ContainerScreenContext> mScreenContext;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContainerScreenValidation>> mScreenValidation;
39 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IContainerTransfer>> mContainerTransferInterface;
40 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContainerEnumName, ::std::vector<::ContainerEnumName>>>
42 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContainerEnumName, ::std::vector<::AutoPlaceTarget>>>
50 ContainerScreenSimulation();
57 virtual ~ContainerScreenSimulation() =
default;
59 virtual ~ContainerScreenSimulation() ;
62 virtual ::ContainerScreenActionResult
65 virtual ::ContainerScreenActionResult tryPlaceAmount(
71 virtual ::ContainerScreenActionResult
74 virtual ::ContainerScreenActionResult tryTakeAmount(
80 virtual ::ContainerScreenActionResult
83 virtual ::ContainerScreenActionResult
86 virtual ::ContainerScreenActionResult
89 virtual ::ContainerScreenActionResult tryAddToStack(
95 virtual ::ContainerScreenActionResult
98 virtual ::ContainerScreenActionResult tryAutoPlace(
101 ::ContainerScreenAutoplaceBehaviour autoplaceBehaviour
104 virtual ::ContainerScreenActionResult trySplitSingle(
107 ::std::vector<::ContainerSimulationSplitStack>& containerSplitItemStackItems
110 virtual ::ContainerScreenActionResult trySplitMultiple(
115 ::std::vector<::ContainerSimulationSplitStack>& containerSplitItemStackItems,
116 int& splitItemRemainder
119 virtual ::ContainerScreenActionResult
122 virtual ::ContainerScreenActionResult
125 virtual ::ContainerScreenActionResult
130 virtual void _registerCoalesceOrder();
132 virtual void _registerAutoPlaceOrder();
139 MCNAPI ContainerScreenSimulation(
141 ::ContainerValidationCaller caller,
142 ::std::unique_ptr<::IContainerTransfer>&& containerTransferInterface,
143 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
146 MCNAPI ::ContainerScreenActionResult _tryTransfer(
147 ::ItemTransferType
const transferType,
151 ::ContainerScreenTransferBehaviour transferBehaviour
154 MCNAPI ::ContainerScreenActionResult _tryTransferSpecial(
157 ::ItemSpecialLocation location
172 ::ContainerValidationCaller caller,
173 ::std::unique_ptr<::IContainerTransfer>&& containerTransferInterface,
174 ::std::unordered_map<
::FullContainerName, ::std::shared_ptr<::Container>> predictiveContainers
191 MCNAPI ::ContainerScreenActionResult
194 MCNAPI ::ContainerScreenActionResult $tryPlaceAmount(
200 MCNAPI ::ContainerScreenActionResult
203 MCNAPI ::ContainerScreenActionResult $tryTakeAmount(
209 MCNAPI ::ContainerScreenActionResult
212 MCNAPI ::ContainerScreenActionResult
215 MCNAPI ::ContainerScreenActionResult
218 MCNAPI ::ContainerScreenActionResult $tryAddToStack(
224 MCNAPI ::ContainerScreenActionResult
227 MCNAPI ::ContainerScreenActionResult $tryAutoPlace(
230 ::ContainerScreenAutoplaceBehaviour autoplaceBehaviour
233 MCNAPI ::ContainerScreenActionResult $trySplitSingle(
236 ::std::vector<::ContainerSimulationSplitStack>& containerSplitItemStackItems
239 MCNAPI ::ContainerScreenActionResult $trySplitMultiple(
244 ::std::vector<::ContainerSimulationSplitStack>& containerSplitItemStackItems,
245 int& splitItemRemainder
248 MCNAPI ::ContainerScreenActionResult
251 MCNAPI ::ContainerScreenActionResult
254 MCNAPI ::ContainerScreenActionResult
259 MCNAPI
void $_registerCoalesceOrder();
261 MCNAPI
void $_registerAutoPlaceOrder();
Definition ContainerScreenContext.h:16