IMapImageObject.h
1.45 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
//
//  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 */
