public function appendScoreboardInfo(&$charData, &$dynData) { $home = getenv("HOME"); $filePath = "{$home}/.blaventure/{$charData->nick}.scoreboard"; // Delete the current save game. $charFilePath = "{$home}/.blaventure/{$charData->nick}.char"; $mapFilePath = "{$home}/.blaventure/{$charData->nick}.map"; unlink($charFilePath); unlink($mapFilePath); // Dynasty management. $thisCharGold = $charData->gold; $dynData->gold += $thisCharGold; $dynFilePath = "{$home}/.blaventure/{$charData->nick}.dynasty"; if (file_exists($dynFilePath)) { FileIO::WriteFile($dynData, $dynFilePath); } // Scoreboard management. $currentTop = null; if (file_exists($filePath)) { $currentTop = FileIO::UnserializeFile($filePath); } $textOutput = " You gained {$thisCharGold} GP for your Dynasty!"; if (is_null($currentTop) || $charData->level > $currentTop->level) { FileIO::WriteFile($charData, $filePath); $textOutput .= " HIGH SCORE!"; } return "{$textOutput}"; }
function saveGame($nick, $saveFileType, $data = null) { $saveData = null; $newGame = checkIfNewGame($nick); $filePath = getSaveFilePath($nick, $saveFileType); if ($newGame) { switch ($saveFileType) { case SaveFileType::Character: $saveData = initCharacterSaveData($nick); break; case SaveFileType::Map: $saveData = initMapSaveData($nick); break; case SaveFileType::Dynasty: $saveData = initDynastySaveData($nick); break; default: break; } } else { if (!isset($data)) { echo "ERROR: No save data supplied!\n"; exit(5); } $saveData = $data; } if (!is_null($saveData)) { FileIO::WriteFile($saveData, $filePath); } }