Draw - Inf512-MotorolaScienceCup/gra-PANG GitHub Wiki

Draw

Odpowiada za rysowanie. Podobnie jak Update wywołuje odpowiednie funkcje rysujące na podstawie aktualnego stanu gry. Na samym początku obraz jest czyszczony, a dopiero potem nakładane są na niego tektury.

void Game::Draw() {
    // Draw
    BeginDrawing();

    ClearBackground(RAYWHITE);

    DrawBackground();

    if (state == State::ACTIVE) {
        DrawPanel();
        DrawSprites();
    }

    switch (state) {
        case State::ACTIVE:
            break;
        case State::MAIN_MENU:
            mainMenu.Draw();
            break;
        case State::MOD_MENU:
            modMenu.Draw();
            break;
        case State::DIFFLVL_MENU:
            diffLvlMenu.Draw();
            break;
        case State::PAUSED:
            ingameMenu.Draw();
            break;
        case State::LEVEL_FINISHED:
            DrawEndLevel();
            break;
        case State::GAME_START:
            DrawGameStart();
            break;
        case State::GAME_OVER:
            DrawGameOver();
            break;
        case State::GAME_FINISHED:
            DrawEndGame();
            break;
        case State::LEVEL_SELECTOR:
            DrawLevelSelector();
            DrawIcons();
            break;
        case State::RANKING:
            DrawRanking();
            DrawIcons();
            break;
        case State::SAVE_MENU:
            saveMenu.Draw();
            break;
        case State::OVERWRITE_MENU:
            overwriteMenu.Draw();
            break;
        case State::GAME_SAVED:
            DrawGameSaved();
            break;
        case State::LOAD_MENU:
            loadMenu.Draw();
            DrawLoadMenu();
            break;
        case State::ERROR:
            //DrawSequence("Unable to save file");
            break;
    }

    EndDrawing();
}