From f449345e3aeb599eb497dfeeac7027cf4d1de515 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Wed, 3 Feb 2021 00:52:47 -0500 Subject: Pulled transform stuff into a system (starting to do ECS stuff) --- src/transform_system.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/transform_system.h (limited to 'src/transform_system.h') diff --git a/src/transform_system.h b/src/transform_system.h new file mode 100644 index 0000000..4616fc0 --- /dev/null +++ b/src/transform_system.h @@ -0,0 +1,33 @@ +#ifndef TRANSFORM_SYSTEM_H_BA2633BC +#define TRANSFORM_SYSTEM_H_BA2633BC + +#include +#include +#include +#include "system.h" +#include "vector.h" + +class Game; + +class TransformSystem : public System { +public: + + TransformSystem(Game& game) : game_(game) {} + + void initSprite(int spriteId, vec2i loc); + + void moveSprite(int spriteId, vec2i newLoc); + + auto getSpritesByY() const { + return spritesByY_ | ranges::views::transform([] (const std::tuple& val) { + return std::get<1>(val); + }); + } + +private: + + Game& game_; + std::set> spritesByY_; +}; + +#endif /* end of include guard: TRANSFORM_SYSTEM_H_BA2633BC */ -- cgit 1.4.1