IMapImageObject.h 1.45 KB
//
//  MapObject.h
//  SteveMaggieCpp
//
//  Created by Katarzyna Kalinowska-Górska on 17.05.2017.
//
//

#ifndef IMapImageObject_h
#define IMapImageObject_h

#include "AniPlainSprite.h"
#include "AniMapUtils.h"

class IMapImageObject : public AniPlainSprite {

public:    
    static IMapImageObject* create(std::string p_imagePath, std::string p_objectName, cocos2d::TMXTiledMap* p_parentMap);
    bool init(std::string p_imagePath, std::string p_objectName, cocos2d::TMXTiledMap* p_parentMap);
    virtual ~IMapImageObject(){};
    
    virtual void parseProperties(cocos2d::ValueMap* mapObjectData, const rapidjson::Value* additionalJsonData);
    inline const cocos2d::TMXTiledMap* getParentMap(){ return m_parentMap; }
    virtual bool mergeWithBackground(){ return m_mergeWithBackground;}
    inline void setMergeWithBackground(bool p_mergeWithBackground){ m_mergeWithBackground = p_mergeWithBackground; }
    void setAlwaysOnTop(bool p_alwaysOnTop) { m_alwaysOnTop = p_alwaysOnTop;}
    bool alwaysOnTop() { return m_alwaysOnTop; }
//        virtual void changeSprite(std::string newSpritePath);
    
//        virtual void callFunctionByName(std::string methodName, const rapidjson::Value* arguments, ActionParseDelegate* parseDelegate, std::function<void()> callback = [](){}) override;
protected:
    cocos2d::TMXTiledMap* m_parentMap;
    bool m_mergeWithBackground {false};
    bool m_alwaysOnTop {false};
//    bool m_alwaysOnTop {false};
};

#endif /* IMapImageObject_h */