#ifndef COIN_BLOCK_H #define COIN_BLOCK_H #include "../blocks.hpp" #include "../global_vars.hpp" #include "../sprites.hpp" #include "../../sdlpp/sdlpp_textrenderer.hpp" class CoinEditorBlock : public MarioBlock { public: CoinEditorBlock(int x, int y, std::shared_ptr renderer); void render() override; void updateSizeAndPosition() override; void addOne(); void subtractOne(); void setAmount(int amount); void onScrollUp() override; void onScrollDown() override; uint8_t getData() const override; void setData(uint8_t data) override; private: void updateText(); int _amount = 1; std::shared_ptr _amount_text; constexpr static double size_divisor = 1.5; constexpr static uint8_t max_amount = 15; }; #endif