From 3ff57559e36d3254c64e334fbe3bdd47398fe16f Mon Sep 17 00:00:00 2001 From: x12xx12x <44411062+12xx12@users.noreply.github.com> Date: Thu, 2 Dec 2021 00:31:10 +0100 Subject: ItemHandler initialisation is a constant expression (#5344) * Transition to non-pointer item handler * That is my destructor - I decide when I leave this world * I declare your destruction private and you final --- src/Items/ItemFood.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/Items/ItemFood.h') diff --git a/src/Items/ItemFood.h b/src/Items/ItemFood.h index 29d733cab..7ec879b5d 100644 --- a/src/Items/ItemFood.h +++ b/src/Items/ItemFood.h @@ -14,25 +14,25 @@ class cItemFoodHandler: public: - cItemFoodHandler(int a_ItemType, FoodInfo a_FoodInfo): + constexpr cItemFoodHandler(int a_ItemType, FoodInfo a_FoodInfo): Super(a_ItemType), m_FoodInfo(a_FoodInfo) { } - virtual bool IsFood(void) override + virtual bool IsFood(void) const override { return true; } - virtual FoodInfo GetFoodInfo(const cItem * a_Item) override + virtual FoodInfo GetFoodInfo(const cItem * a_Item) const override { UNUSED(a_Item); return m_FoodInfo; } - virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) override + virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) const override { if (!Super::EatItem(a_Player, a_Item)) { @@ -50,8 +50,11 @@ public: protected: FoodInfo m_FoodInfo; + ~cItemFoodHandler() = default; }; - - - +class cItemSimpleFoodHandler final: + public cItemFoodHandler +{ + using cItemFoodHandler::cItemFoodHandler; +}; -- cgit v1.2.3