// // Created by Katarzyna Kalinowska-Górska on 2019-10-07. // #ifndef PROJ_ANDROID_HParentalGateView_H #define PROJ_ANDROID_HParentalGateView_H #include "cocos2d.h" #include class HParentalGateView : public cocos2d::LayerColor { public: static HParentalGateView* create(float width, float height, std::function onSuccessCallback,std::function onFailureCallback); protected: struct KKTextDigit { static const std::vector< char*> 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_HParentalGateView_H