Zobacz, mam kolejny problem.
Tak wygląda mój konstruktor klasy towerSignature:
towerSignature::towerSignature(std::unique_ptr<tower> newTower, const std::string desc)
{
this->towerObject = std::move(newTower);
if (!textureHaze.loadFromFile("Textury/haze.png"))
{
MessageBox(0, "Unable to load haze.png", 0, 0);
return;
}
descriptionHaze.setTexture(textureHaze);
/*
...
*/
}
I w momencie takich instrukcji:
towerSignature t(std::make_unique<arcaneTower>(), "Simply magic \ntower, without \nspecial skills");
towerSignatures.push_back(std::move(t));
W t wywował się mój konstruktor ten co jest powyżej.
I w nim jest textura textureHaze
wczytana a z momentem wyjście t poza {} obiekt ulega zniszczeniu a ten obiekt w vectorze dalej
wskazuje na towerSignature::textureHaze, która jest zniszczona i nie mam oczekiwanego efektu bo zwyczajnie zgubiłem texturę.
Co mam działać w takiej sytuacji ?