Si y'a que moi qui en a besoin j'veux bien que vous ne l'ajoutez pas ^^^
Pour l'instant c'est le cas
Oui c'est sûre pour la plupart, mais par exemple pour un sf::Text, son String il sort pas de nul part, c'est l’appelant qui le change, donc il peut très bien le stocker quelque part, mais on est tous d'accord que le getString() est très pratique.
Parce que getString() renvoie l'information essentielle de l'objet sf::Text, à savoir la chaîne qu'il affiche. Donc sf::Text la stocke, l'utilisateur la voit à l'écran, ... ce serait bête de ne pas donner un accès publique au développeur.
C'est complètement différent pour le chemin d'une texture : l'info n'existe nulle part, elle n'est ni stockée ni utilisée ; en d'autres termes c'est uniquement toi qui a besoin de la garder, et c'est pour cela que c'est toi qui devrait adapter ton code pour combler ce besoin, pas SFML.
Bah faudrait mieux la supprimer, c'est pas une question à se poser ça, par exemple; Si je change la position d'un sprite, on garde l'ancienne position on on la supprime?
Texture::update modifie des pixels de la texture, mais ça ne change pas le fait qu'à la base elle ait été chargée depuis un fichier ; imagine que dans ton programme tu aies besoin d'effectuer une transformation de couleur (noir et blanc) ou d'opacité (appliquer un masque de transparence) ; ça ne changera rien au fait que tu auras toujours besoin de savoir de quel fichier la texture provenait.
Bref c'est juste pour dire que lorsqu'on pousse la réflexion, les choses ne sont pas si évidentes...
Et imagine ces exemples très simples :
sf::Image image;
image.loadFromFile("...");
sf::Texture texture;
texture.loadFromImage(image); // oups on a perdu le "filename"...
// --------------------------
std::ifstream file("...");
sf::Texture texture;
texture.loadFromStream(file); // oups on a perdu le "filename"...
Tu vois bien que sf::Texture a très facile de perdre l'information, alors que toi de ton côté, tu l'as toujours à disposition si tu veux la garder.
pour ça j'ai du faire deux autres vector de string avec les emplacements
Mauvaise solution. Fais plutôt un seul vector d'une structure qui aggrège la texture + son chemin.