From e428f2145ac3b05345d42e3518a22d429ad0970e Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 10 Apr 2023 14:33:54 +0100 Subject: Add the plant/foliage game item concepts --- game/scenary/plant.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 game/scenary/plant.h (limited to 'game/scenary/plant.h') diff --git a/game/scenary/plant.h b/game/scenary/plant.h new file mode 100644 index 0000000..7f964eb --- /dev/null +++ b/game/scenary/plant.h @@ -0,0 +1,16 @@ +#pragma once + +#include "foliage.h" +#include "gfx/renderable.h" +#include "location.hpp" + +class Plant : public Renderable { + std::shared_ptr type; + Location position; + + void render(const SceneShader & shader) const override; + void shadows(const ShadowMapper & shadowMapper) const override; + +public: + Plant(std::shared_ptr type, Location position) : type(std::move(type)), position(position) { } +}; -- cgit v1.2.3 From 5215c297280e5440881bcc495ef75a86a5708b03 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 10 Apr 2023 18:31:57 +0100 Subject: Plants are world objects --- game/scenary/plant.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'game/scenary/plant.h') diff --git a/game/scenary/plant.h b/game/scenary/plant.h index 7f964eb..55acca1 100644 --- a/game/scenary/plant.h +++ b/game/scenary/plant.h @@ -1,16 +1,22 @@ #pragma once #include "foliage.h" +#include "game/worldobject.h" #include "gfx/renderable.h" #include "location.hpp" -class Plant : public Renderable { +class Plant : public Renderable, public WorldObject { std::shared_ptr type; Location position; void render(const SceneShader & shader) const override; void shadows(const ShadowMapper & shadowMapper) const override; + void + tick(TickDuration) override + { + } + public: Plant(std::shared_ptr type, Location position) : type(std::move(type)), position(position) { } }; -- cgit v1.2.3