// // LevelPickerView.h // HalloweenSpaceInvaders // // Created by Katarzyna Kalinowska-Górska on 29/09/2019. // #ifndef LevelPickerView_h #define LevelPickerView_h #include "cocos2d.h" #include "LevelView.h" #include #include #include "LayoutObject.h" class LevelPickerView : public cocos2d::Node, public LayoutObject { public: static LevelPickerView* create(const std::vector& levelImagePaths, const std::vector& levelNames); void selectLevelIndex(int index, bool animated = true); int getPickedLevelIndex(); void addOnLevelChangedCallback(std::function onLevelChanged); void reloadLevels(const std::vector& levelImagePaths, const std::vector& levelNames); virtual void loadPropertiesFromJSON(const rapidjson::Value& jsonValue, LayoutViewInterface* scene = NULL, const std::string resFolder = "", const std::string altResFolder = "") override; protected: int _selectedLevelIndex; std::vector levelViews; std::function _onLevelChanged; bool init(const std::vector& levelImagePaths, const std::vector& levelNames); void prepareTouchHandlers(); }; #endif /* LevelPickerView_h */