diff options
author | JAROWMR <jarorutjes07@gmail.com> | 2025-01-08 18:40:11 +0100 |
---|---|---|
committer | JAROWMR <jarorutjes07@gmail.com> | 2025-01-08 18:40:11 +0100 |
commit | ef3f5b0845ba127c0bfcda8c2fce37013fef3878 (patch) | |
tree | e5690ff875a662ee7603844e858d82428d973a78 /game/prefab/ZapperPoolScript.h | |
parent | 424da5eb1500d90389d939cd0b3e6e75d729578d (diff) | |
parent | 2ad15f3efab481659543a1c03cd70a36fd297538 (diff) |
Merge branch 'master' of github.com:lonkaars/crepe into jaro/game
Diffstat (limited to 'game/prefab/ZapperPoolScript.h')
-rw-r--r-- | game/prefab/ZapperPoolScript.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/game/prefab/ZapperPoolScript.h b/game/prefab/ZapperPoolScript.h new file mode 100644 index 0000000..2208c80 --- /dev/null +++ b/game/prefab/ZapperPoolScript.h @@ -0,0 +1,33 @@ +#pragma once + +#include <crepe/api/Script.h> + +#include "ZapperObject.h" +#include "util/OptionalRef.h" + +class ZapperPoolSubScene; + +class ZapperPoolScript : public crepe::Script { +public: + ZapperPoolScript(std::vector<ZapperObject> && pool); + + void init(); + void fixed_update(crepe::duration_t); + + unsigned i = 0; + +private: + std::vector<ZapperObject> pool; + +private: + crepe::OptionalRef<crepe::Transform> camera_transform; + crepe::OptionalRef<crepe::Camera> camera_camera; + crepe::OptionalRef<ZapperObject> get_next_zapper(); + +private: + void spawn_random(); + +private: + static constexpr float MAX_LENGTH = 400; + static constexpr float OFFSCREEN_MARGIN = 50 + MAX_LENGTH; +}; |