// // 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 callback = [](){}) override; protected: cocos2d::TMXTiledMap* m_parentMap; bool m_mergeWithBackground {false}; bool m_alwaysOnTop {false}; // bool m_alwaysOnTop {false}; }; #endif /* IMapImageObject_h */