Mam klasę map w której jest: std::vector <std::unique_ptr <Item> > item;
W metodzie tej klasy Update, chcę wysłać te wskaźniki do obiektu gracza:
player_entity[i] -> takeItem( item );
tam sprawdzam czy jest kolizja:
void Player::takeItem(std::vector <std::unique_ptr <Item> > item)
{
auto iterator = item.begin();
if( (*iterator) -> getGlobalBounds().intersects(sprite.getGlobalBounds()))
{
inventoryManager.itemsStack.emplace_back(std::move(*iterator));
item.erase(iterator);
inventoryManager.insertItem();
}
}
Ale taka operacja wypluwa błąd, ogólnie zależy mi żeby to jakoś ogarnąć, by po kolizja z graczem przedmiot przechodził do inventoryManagera, a tamten z mapy się kasował.