diff options
author | heavydemon21 <nielsstunnebrink1@gmail.com> | 2025-01-08 14:39:16 +0100 |
---|---|---|
committer | heavydemon21 <nielsstunnebrink1@gmail.com> | 2025-01-08 14:39:16 +0100 |
commit | 18a8813645187102fc6261b8d5be1a41c8f0dae4 (patch) | |
tree | 655c5d22027fa23af3378df2d92d4051a71be2a6 /game/prefab/ZapperObject.h | |
parent | 0729209117a4393e66d7f5b6d83083e2d7c0694c (diff) | |
parent | d9c67da9b8c2d8d25ef4dd2c700ddc78573d3a60 (diff) |
Merge remote-tracking branch 'origin/loek/game' into niels/game
Diffstat (limited to 'game/prefab/ZapperObject.h')
-rw-r--r-- | game/prefab/ZapperObject.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/game/prefab/ZapperObject.h b/game/prefab/ZapperObject.h new file mode 100644 index 0000000..42edc51 --- /dev/null +++ b/game/prefab/ZapperObject.h @@ -0,0 +1,40 @@ +#pragma once + +#include <crepe/api/Animator.h> +#include <crepe/api/BoxCollider.h> +#include <crepe/api/GameObject.h> +#include <crepe/api/Rigidbody.h> +#include <crepe/api/Sprite.h> + +class ZapperObject : public crepe::GameObject { +public: + ZapperObject(crepe::GameObject &&); + +public: + bool active = true; + + struct { + crepe::Sprite & orb_start; + crepe::Sprite & orb_end; + crepe::Sprite & glow_start; + crepe::Sprite & glow_end; + crepe::Sprite & beam; + } sprite; + + struct { + crepe::Animator & orb_start; + crepe::Animator & orb_end; + crepe::Animator & glow_start; + crepe::Animator & glow_end; + } animator; + + crepe::Rigidbody & body; + crepe::BoxCollider & collider; + +private: + static constexpr float SCALE = 0.8; + +public: + void place(const crepe::vec2 & position, float rotation, float length); + void set_active(bool active); +}; |