#ifndef PLANSZA_H #define PLANSZA_H #include "SFML/System/Clock.hpp" #include "SFML/Graphics/RenderWindow.hpp" #include "Meteor.h" #include "Enemy.h" #include "AdvancedEnemy.h" #include "Bomber.h" #include "Kamikadze.h" #include "Wiazkowiec.h" #include "Player.h" #include "Background.h" #include "AudioManager.h" #include "Plansza.h" #include "Size.h" class Plansza { public: Plansza(unsigned int windowHeight, unsigned int windowWidth, sf::RenderWindow *mainWindow, const sf::Texture& playerTexture, const sf::Texture& playerBulletTexture, const sf::Texture& playerRocketTexture); Size getSize(); std::vector &getMeteors(); void spawn_meteor(); void update_meteors(); void update(); void update_score(); void spawn_enemy(); void setOutOfBounds(bool status); void spawn_advanced_enemy(); void spawn_wiazkowiec(); void spawn_bomber(); void spawn_kamikadze(); private: Size size; Background background; Player ship; AudioManager audioManager; sf::Texture meteorTexture1; sf::Texture meteorTexture2; sf::Texture enemyBulletTexture; sf::Texture WiazkaTexture; sf::Texture BombaTexture; sf::Texture playerTexture; sf::Texture playerBulletTexture; sf::Texture playerRocketTexture; sf::Texture enemyTexture; sf::Texture advancedEnemyTexture; sf::Texture BomberEnemyTexture; sf::Texture KamikadzeTexture; sf::Texture WiazkowiecTexture; sf::Clock spawnClock; sf::Clock scoreClock; sf::Clock shooterSpawnClock; std::vector enemies; std::vector AEnemies; std::vector BEnemies; std::vector KEnemies; std::vector WEnemies; sf::Clock enemySpawnClock; sf::Clock AenemySpawnClock; sf::Clock BomberSpawnClock; sf::Clock KamikadzeSpawnClock; sf::Clock WiazkowiecSpawnClock; std::vector meteors; sf::RenderWindow *window; sf::Font font; unsigned int score = 0; }; #endif //PLANSZA_H