dodatna logika

This commit is contained in:
2026-05-02 18:09:17 +02:00
parent 56d567b77d
commit e4389f035d
16 changed files with 239 additions and 37 deletions

View File

@@ -14,6 +14,9 @@ GAME_ENTITY(Background)
public:
void render(Game::Renderer::Renderer* renderer, Game::Renderer::RendererConfig config) override;
void onWindowResized(int newWidth, int newHeight) override;
// Spawn a single trash at the given transform. If seaOnly is true the trash
// will be clamped to the sea side of the land boundary.
void spawnTrashAt(const Object::Transform& tS, bool seaOnly = false);
private:
void spawnLevel(int stage);
void spawnFriendly(int stage, int count);
@@ -22,6 +25,9 @@ GAME_ENTITY(Background)
float mLandBoundaryX = 0.f;
bool mPendingLevelSpawn = false;
int mPendingLevelStage = 0;
// Periodic friendly spawn settings
float mFriendlySpawnAvgInterval = 6.f; // average seconds between spawns
int mMaxAutoFriendlies = 7; // hard cap for total active friendlies
std::shared_ptr<Game::Renderer::Texture> mSeaTex;
std::shared_ptr<Game::Renderer::Texture> mEnemyTex;
std::shared_ptr<Game::Renderer::Texture> mTrashTex;