// // MapAdventureObjectSlide.h // WattsenglishFoodApp // // Created by Katarzyna Kalinowska-Górska on 21/03/2020. // #ifndef MapAdventureObjectPickupItem_h #define MapAdventureObjectPickupItem_h #include "IMapAdventureObject.h" #include "AniMapUtils.h" #include "AniJSONParseUtilsMap.h" static IMapAdventureObjectEventType IMapAdventureObjectEventTypeItemPickedUp = "IMapAdventureObjectEventTypeItemPickedUp"; class MapAdventureObjectPickupItem : public IMapAdventureObject { public: constexpr static char* const ClassName {const_cast("MapAdventureObjectPickupItem")}; // init MapAdventureObjectPickupItem(const rapidjson::Value& p_mapObjectData, IMapImageObject* p_mapImageObject, bool p_oneTile = false); MapAdventureObjectPickupItem(std::string objectName, IMapImageObject* p_mapImageObject, bool p_oneTile = false); // virtuals virtual std::vector getOccupiedTiles() const override; virtual std::vector getOccupiedTilesRestrictedByIntersectionPercent(float percent) const; virtual std::vector getEntryTiles() const override; virtual void pickUp(); virtual void reset() override; virtual void resetOccupiedTileIfNecessary(); protected: bool m_oneTile { false}; // only use if single predefined tile AniMapUtils::TileData m_occupiedTile {-1,-1}; // std::vector m_occupiedTiles; }; #endif /* MapAdventureObjectPickupItem_h */