MapAdventureObjectPickupItem.h
1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//
// 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<char* const>("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<AniMapUtils::TileData> getOccupiedTiles() const override;
virtual std::vector<AniMapUtils::TileData> getOccupiedTilesRestrictedByIntersectionPercent(float percent) const;
virtual std::vector<AniMapUtils::TileData> 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<MapUtils::TileData> m_occupiedTiles;
};
#endif /* MapAdventureObjectPickupItem_h */