SaveGame - Inf512-MotorolaScienceCup/gra-PANG GitHub Wiki
SaveGame
Funkcja służąca do zapisu gry. Uruchamia ona stream, który zostaje przekazany do WriteGameData. Tam z kolei do zapisu wykorzystuje się template Write, który zapisuje do stream’u zmienne oraz struktury. Każdy Sprite posiada funkcję zapisu, która wrzuca wszystkie potrzebne do odtworzenia stanu gry informacje.
bool Game::SaveGame(int fileNum) {
if (!DirectoryExists("saves")) {
std::system("mkdir saves");
}
std::ofstream saveFile(TextFormat("saves/s%d.psf", fileNum), std::ios_base::binary);
if (saveFile.is_open()) {
WriteGameData(saveFile);
saveFile.close();
std::cout << "Save file created";
return true;
} else {
std::cout << "Unable to open file";
return false;
}
}