#include "../headers/Background.h"
#include <iostream>

//logika robimy dwa spraity i sie przesuwaja po sobie i resetuja jak wyjda poza ekran

Background::Background(const std::string& texturePath, float speed)
    : speed(speed)
{
    if (!texture.loadFromFile(texturePath)) {
        std::cerr << "Tlo sie nie zaladowalo!!! " << texturePath << "\n";
    }

    sprite1.setTexture(texture);
    sprite2.setTexture(texture);

    sprite1.setPosition(0, 0);
    sprite2.setPosition(0, -texture.getSize().y);
}

void Background::update() {
    // Przesuwanie tła
    sprite1.move(0, speed);
    sprite2.move(0, speed);

    // Resetowanie pozycji tła
    if (sprite1.getPosition().y >= sprite1.getTexture()->getSize().y) {
        sprite1.setPosition(0, sprite2.getPosition().y - sprite2.getTexture()->getSize().y);
    }
    if (sprite2.getPosition().y >= sprite2.getTexture()->getSize().y) {
        sprite2.setPosition(0, sprite1.getPosition().y - sprite1.getTexture()->getSize().y);
    }
}

void Background::draw(sf::RenderWindow& window) {
    window.draw(sprite1);
    window.draw(sprite2);
}
