#ifndef TOOL_H #define TOOL_H #include "terrain.h" #include "vector.h" #include "gui.h" #include class Tool { protected: Terrain *terrain; GUI *gui; public: Tool(Terrain *terrain); virtual ~Tool() {}; virtual bool handle_event(SDL_Event& event, Vector3& selected) = 0; virtual void gui_show(); virtual void gui_hide(); virtual void gui_update(); virtual const char* get_name() = 0; }; class RaiseTool : public Tool { public: RaiseTool(Terrain *terrain); virtual ~RaiseTool(); virtual bool handle_event(SDL_Event& event, Vector3& selected); virtual const char* get_name(); }; #endif