HLevelView.h 1.18 KB
//
//  HLevelView.h
//  HalloweenSpaceInvaders
//
//  Created by Katarzyna Kalinowska-Górska on 27/09/2019.
//

#ifndef HLevelView_h
#define HLevelView_h

#include "cocos2d.h"
#include <string>
#include "HLayoutObject.h"

class HLevelView : public cocos2d::Node, public HLayoutObject {

public:
    static HLevelView* create(std::string levelImagePath);
    static HLevelView* create(std::string levelImagePath, std::string levelName);
    void setChosen(bool chosen, bool animated = true);
    void changePicture(std::string newPicturePath);
    
    virtual void loadPropertiesFromJSON(const rapidjson::Value& jsonValue, HLayoutViewInterface* scene = NULL, const std::string resFolder = "", const std::string altResFolder = "") override;
    
    void startFloating();
    void stopFloating();
    virtual void doFloat(bool start = false);
    void flash();
    
protected:
    bool _isChosen;
    bool _isFloating;
    int _floatDirection;
    cocos2d::Point _circleMidPoint;
    cocos2d::Sprite* _bgNode;
    cocos2d::Sprite* _pic;
    cocos2d::Label* _label;
    
    bool init(std::string levelImagePath);
    bool init(std::string levelImagePath, std::string levelName);
};


#endif /* HLevelView_h */