#ifndef PLANSZA_H
#define PLANSZA_H

#include "Meteor.h"
#include "RandomNumberGenerator.h"
#include "SFML/System/Clock.hpp"
#include "SFML/Graphics/RenderWindow.hpp"
#include "Size.h"

#include "Player.h"
#include "Background.h"
#include "AudioManager.h"
#include "Meteor.h"
#include "Plansza.h"
#include "Heart.hpp"

class Plansza {
public:
    Plansza(unsigned int windowHeight,unsigned int windowWidth, sf::RenderWindow *mainWindow);
    Size getSize();
    std::vector<Meteor> &getMeteors();
    void spawn_meteor();
    void spawn_hearts();
    void update_meteors();
    void update_hearts();
    void update();
private:
    Size size;
    Background background;
    Player ship;
    AudioManager audioManager;
    sf::Texture meteorTexture1;
    sf::Texture meteorTexture2;
    sf::Texture heartTexture;
    sf::Clock meteorSpawnClock;
    sf::Clock heartSpawnClock;
    std::vector<Meteor> meteors;
    std::vector<Heart> hearts;
    sf::RenderWindow *window;

};

#endif //PLANSZA_H
