summaryrefslogtreecommitdiff
path: root/game/vehicles/railVehicle.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-12-28 15:42:50 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2021-12-28 15:42:50 +0000
commitde9909df038d1b6bb47bcc82fea5f8dc9dec2491 (patch)
treeb1f1337603c1bda68760d3f5f5147bc345e3e77f /game/vehicles/railVehicle.h
parentComponent position mouse click check should only match mouse button events (diff)
downloadilt-de9909df038d1b6bb47bcc82fea5f8dc9dec2491.tar.bz2
ilt-de9909df038d1b6bb47bcc82fea5f8dc9dec2491.tar.xz
ilt-de9909df038d1b6bb47bcc82fea5f8dc9dec2491.zip
Initial implementation for being able to click in the main window to select something
Diffstat (limited to 'game/vehicles/railVehicle.h')
-rw-r--r--game/vehicles/railVehicle.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/game/vehicles/railVehicle.h b/game/vehicles/railVehicle.h
index a089f1d..55cb6a2 100644
--- a/game/vehicles/railVehicle.h
+++ b/game/vehicles/railVehicle.h
@@ -4,6 +4,8 @@
#include "gfx/renderable.h"
#include "railVehicleClass.h"
#include <array>
+#include <game/selectable.h>
+#include <glm/glm.hpp>
#include <location.hpp>
#include <memory>
#include <utility>
@@ -11,13 +13,14 @@
class Shader;
class Train;
-class RailVehicle : public Renderable {
+class RailVehicle : public Renderable, Selectable {
public:
explicit RailVehicle(RailVehicleClassPtr rvc) : rvClass {std::move(rvc)} { }
void move(const Train *, float & trailBy);
void render(const Shader & shader) const override;
+ [[nodiscard]] bool intersectRay(const glm::vec3 &, const glm::vec3 &, glm::vec2 *, float *) const override;
Location location;