MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / stackItems

Method stackItems

source/game/StarItemBag.cpp:285–304  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

283}
284
285ItemPtr ItemBag::stackItems(ItemPtr items) {
286 if (!items || items->empty())
287 return {};
288
289 while (true) {
290 size_t slot = bestSlotAvailable(items, true);
291 if (slot == NPos)
292 return items;
293
294 auto& storedItem = at(slot);
295 if (storedItem) {
296 storedItem->stackWith(items);
297 if (items->empty())
298 return {};
299 } else {
300 storedItem = std::move(items);
301 return {};
302 }
303 }
304}
305
306void ItemBag::condenseStacks() {
307 for (size_t i = size() - 1; i > 0; --i) {

Callers 1

addToBagsMethod · 0.80

Calls 2

emptyMethod · 0.45
stackWithMethod · 0.45

Tested by

no test coverage detected