// // ToyLevelPickerView.h // HalloweenSpaceInvaders // // Created by Katarzyna Kalinowska-Górska on 29/09/2019. // #ifndef ToyLevelPickerView_h #define ToyLevelPickerView_h #include "cocos2d.h" #include "ToyLevelView.h" #include #include #include "ToyLayoutObject.h" class ToyLevelPickerView : public cocos2d::Node, public ToyLayoutObject { public: static ToyLevelPickerView* 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, ToyLayoutViewInterface* 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 /* ToyLevelPickerView_h */