From 917b3049a10dcc41d6d02f332e81b5dd05aff33d Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 18 Jan 2022 02:07:33 +0000 Subject: Beginnings of network editor Pushes gameMainSelector clicks/moves into a different target --- ui/gameMainSelector.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ui/gameMainSelector.h (limited to 'ui/gameMainSelector.h') diff --git a/ui/gameMainSelector.h b/ui/gameMainSelector.h new file mode 100644 index 0000000..e0715c9 --- /dev/null +++ b/ui/gameMainSelector.h @@ -0,0 +1,39 @@ +#pragma once + +#include "special_members.hpp" +#include "uiComponent.h" +#include +#include +#include +class Ray; +class UIShader; +union SDL_Event; +class Camera; + +class GameMainSelector : public UIComponent { +public: + class ClickReceiver { + public: + ClickReceiver() = default; + virtual ~ClickReceiver() = default; + DEFAULT_MOVE_COPY(ClickReceiver); + + virtual void click(const Ray &) = 0; + virtual void move(const Ray &) = 0; + virtual bool handleMove() = 0; + }; + + GameMainSelector(const Camera * c, glm::vec2 size); + + void render(const UIShader & shader, const Position & pos) const override; + + bool handleInput(const SDL_Event & e, const Position &) override; + + void defaultClick(const Ray & ray); + + std::unique_ptr target; + +private: + const Camera * camera; + std::string clicked; +}; -- cgit v1.2.3