#pragma once #include "Slot.h" class ResultSlot : public Slot { private: std::shared_ptr craftSlots; Player* player; // This can't be a std::shared_ptr, as we create a result // slot in the inventorymenu in the Player ctor int removeCount; public: ResultSlot(Player* player, std::shared_ptr craftSlots, std::shared_ptr container, int id, int x, int y); virtual ~ResultSlot() {} virtual bool mayPlace(std::shared_ptr item) override; virtual std::shared_ptr remove(int c) override; protected: virtual void onQuickCraft(std::shared_ptr picked, int count) override; virtual void checkTakeAchievements( std::shared_ptr carried) override; public: virtual void onTake(std::shared_ptr player, std::shared_ptr carried) override; virtual bool mayCombine( std::shared_ptr item) override; // 4J Added };