// // Created by Katarzyna Kalinowska-Górska on 2019-10-07. // #ifndef PROJ_ANDROID_PARENTALGATEVIEW_H #define PROJ_ANDROID_PARENTALGATEVIEW_H #include "cocos2d.h" #include class ParentalGateView : public cocos2d::LayerColor { public: static ParentalGateView* create(float width, float height, std::function onSuccessCallback,std::function onFailureCallback); virtual ~ParentalGateView(){} protected: struct KKTextDigit { static const std::vector DigitNames; int digit; const char* text; KKTextDigit(int pDigit) { assert(pDigit >= 0 && pDigit <= 9); digit = pDigit; text = DigitNames[digit]; } }; std::function _onSuccessCallback; std::function _onFailureCallback; cocos2d::Label* digitsLabel; std::vector correctDigitSequence; int currentIndex; bool init(float width, float height, std::function onSuccessCallback,std::function onFailureCallback); void setupAppearance(); void setupLogic(); std::vector generateTextDigits(int digitsCount); std::string randomButtonBgImagePath(); void highlightTextDigit(int atIndex); void digitButtonPressed(std::string digitName); void updateDigitsLabel(); }; #endif //PROJ_ANDROID_PARENTALGATEVIEW_H