30 lines
1017 B
C++
30 lines
1017 B
C++
#pragma once
|
|
|
|
#include <object/entity.hpp>
|
|
#include <renderer/texture.hpp>
|
|
#include <renderer/font.hpp>
|
|
#include <object/sound.hpp>
|
|
#include <game/gamemanager.hpp>
|
|
#include <game/agame/enemy.hpp>
|
|
#include <game/agame/trash.hpp>
|
|
#include <game/agame/friendly.hpp>
|
|
|
|
namespace Game::AGame {
|
|
GAME_ENTITY(Background)
|
|
public:
|
|
void render(Game::Renderer::Renderer* renderer, Game::Renderer::RendererConfig config) override;
|
|
void onWindowResized(int newWidth, int newHeight) override;
|
|
private:
|
|
void spawnLevel(int stage);
|
|
void spawnFriendly(int stage, int count);
|
|
int mW, mH;
|
|
int mMaxLevels = 2;
|
|
float mLandBoundaryX = 0.f;
|
|
bool mPendingLevelSpawn = false;
|
|
int mPendingLevelStage = 0;
|
|
std::shared_ptr<Game::Renderer::Texture> mSeaTex;
|
|
std::shared_ptr<Game::Renderer::Texture> mEnemyTex;
|
|
std::shared_ptr<Game::Renderer::Texture> mTrashTex;
|
|
std::shared_ptr<Game::Renderer::Texture> mFriendlyTex;
|
|
END_GAME_ENTITY()
|
|
} |