// // AniParentalGateShowInterface.cpp // Steve and Maggie Halloween // // Created by Katarzyna Kalinowska-Górska on 14/10/2019. // #include "AniParentalGateShowInterface.h" #include "AniMiscUtils.h" #include "AniParentalGateView.h" static int AniParentalGateViewTag = 90; void AniParentalGateShowInterface::presentParentalGate(std::function onSuccessCallback, std::function onFailureCallback){ _isPresentingParentalGate = true; auto screenSize = cocos2d::Director::getInstance()->getWinSize(); auto parentalGate = AniParentalGateView::create(screenSize.width, screenSize.height, onSuccessCallback, onFailureCallback); parentalGate->setTag(AniParentalGateViewTag); PGSI_addChild(parentalGate); parentalGate->setLocalZOrder(1000); parentalGate->setPosition(cocos2d::Vec2(0, 0)); parentalGate->setCascadeOpacityEnabled(true); auto touchListener = cocos2d::EventListenerTouchOneByOne::create(); touchListener->setSwallowTouches(true); touchListener->onTouchBegan = [&](cocos2d::Touch* touch, cocos2d::Event* event){ return true; }; PGSI_getEventDispatcher()->addEventListenerWithSceneGraphPriority(touchListener, parentalGate); // #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // auto keyboardListener = cocos2d::EventListenerKeyboard::create(); // keyboardListener->onKeyReleased = [&](cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* event){ // if(keyCode == cocos2d::EventKeyboard::KeyCode::KEY_BACK){ // hideParentalGate(); // } // }; // _eventDispatcher->addEventListenerWithSceneGraphPriority(keyboardListener, parentalGate); // #endif parentalGate->setOpacity(0); parentalGate->runAction(cocos2d::FadeIn::create(AniMiscUtils::StandardAnimationTime)); } void AniParentalGateShowInterface::hideParentalGate(){ _isPresentingParentalGate = false; auto parentalGate = PGSI_getChildByTag(AniParentalGateViewTag); if(parentalGate != nullptr){ parentalGate->runAction(cocos2d::Sequence::create(cocos2d::FadeOut::create(AniMiscUtils::StandardAnimationTime), cocos2d::CallFunc::create(std::bind([&](cocos2d::Node* pg){ AniMiscUtils::hideAndRemoveView(pg, true); }, parentalGate)), nullptr)); } }