#pragma once #include #include #include #include #include #include #include #include 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 mSeaTex; std::shared_ptr mEnemyTex; std::shared_ptr mTrashTex; std::shared_ptr mFriendlyTex; END_GAME_ENTITY() }