MapAdventureObjectLadder.h 1.31 KB
//
//  MapAdventureObjectLadder.h
//  WattsenglishFoodApp
//
//  Created by Katarzyna Kalinowska-Górska on 21/03/2020.
//

#ifndef MapAdventureObjectLadder_h
#define MapAdventureObjectLadder_h

#include "MapAdventureObjectRotatingEnd.h"
#include "AniMapUtils.h"
#include "AniJSONParseUtilsMap.h"

class MapAdventureObjectLadder : public MapAdventureObjectRotatingEnd {
    
public:
    constexpr static char* const ClassName {const_cast<char* const>("MapAdventureObjectLadder")};
    
    // init
    MapAdventureObjectLadder(const rapidjson::Value& p_mapObjectData, IMapImageObject* p_mapImageObject, IMapImageObject* p_hintMapImageObject);
    
    // overrides
    virtual std::vector<AniMapUtils::TileData> getEntryTiles()  const override;
    
    // other getters
    inline const AniMapUtils::TileData& getEndStandTileUp() const {return m_endStandTileUp;}
    inline const AniMapUtils::TileData& getEndStandTileDown() const {return m_endStandTileDown;}
    
protected:
    // props
    AniMapUtils::TileData m_endStandTileUp; // the tile where the player arrives immediately after climbing the ladder
    AniMapUtils::TileData m_endStandTileDown; // the tile where the player arrives immediately after descending the ladder
    
    virtual void performOnRotationComplete() override;
};


#endif /* MapAdventureObjectLadder_h */