#ifndef EDITOR_H_8BB54FE3 #define EDITOR_H_8BB54FE3 #include "state.h" #include "vector.h" #include "level.h" #include "input.h" #include "input_lag.h" class Editor : public State { public: Editor(SDL_Renderer* ren) : level_(ren) { surface_ptr bgSurf(IMG_Load("../res/editor_bg.png")); if (!bgSurf) { throw img_error(); } background_.reset(SDL_CreateTextureFromSurface(ren, bgSurf.get())); bgSize_ = { bgSurf->w, bgSurf->h }; } void tick( double dt, const Uint8* keystate) override; void render(SDL_Renderer* ren) override; private: Level level_; texture_ptr background_; vec2i bgSize_; texture_ptr renderedMap_; bool mapFocus_ = true; vec2s cursor_; size_t selectedTile_ = 0; Input input_; InputLag inputLag_; Layer layer_ = Layer::map; }; #endif /* end of include guard: EDITOR_H_8BB54FE3 */