Пример #1
0
 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}";
 }
Пример #2
0
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);
    }
}