Blame view

ios/Runner/Wowgame/Classes/game_food/TOSAcceptPopupView.cpp 4.41 KB
cb213901   xiaoyu   添加一个游戏的源码和编译选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  //
  // Created by Katarzyna Kalinowska-Górska on 2019-10-14.
  //
  
  #include "TOSAcceptPopupView.h"
  #include "TouchInterceptingLayer.h"
  #include "SimpleButton.h"
  #include "ScalingUtils.h"
  #include "ParentalGateView.h"
  #include "MiscUtils.h"
  #include "Strings.h"
  #include <stdio.h>
  
  TOSAcceptPopupView * TOSAcceptPopupView::create(std::function<void()> onAcceptCallback){
      TOSAcceptPopupView * view = new (std::nothrow) TOSAcceptPopupView();
  
      if(view && view->init(onAcceptCallback))
      {
          view->autorelease();
          return view;
      }
      CC_SAFE_DELETE(view);
      return nullptr;
  }
  
  bool TOSAcceptPopupView::init(std::function<void()> onAcceptCallback){
      if(!cocos2d::LayerColor::initWithColor(cocos2d::Color4B(0, 0, 0, 220))){
          return false;
      }
  
      _onAcceptCallback = onAcceptCallback;
      setupAppearance();
      
      return true;
  }
  
  void TOSAcceptPopupView::setupAppearance(){
      auto popup = cocos2d::Sprite::create("graphics/tos_popup/accept_popup.png"); //TODO hard-coded stirng
      auto wholeSize = cocos2d::Director::getInstance()->getWinSize();
      setContentSize(wholeSize);
      addChild(popup);
      popup->setPosition(cocos2d::Vec2(wholeSize.width/2, wholeSize.height/2));
      
      auto menuItemColor = cocos2d::Color3B(40, 80, 160);
      cocos2d::MenuItemFont::setFontSize(120*ScalingUtils::getScaleForFont()); //TODO MAGIC NUMBER
  #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
      cocos2d::MenuItemFont::setFontName("ComicSansMS-Bold");
  #else
      cocos2d::MenuItemFont::setFontName("fonts/ComicSansMSBold.ttf");
  #endif
      
  //    auto paddingBottom = 40*ScalingUtils::scaleAspectFillToDesignIpadProSize();
      auto menuPadding = 40*ScalingUtils::scaleAspectFillToDesignIpadProSize();//TODO magic number
      auto menuItemAbout = cocos2d::MenuItemFont::create("Terms of Use", CC_CALLBACK_1(TOSAcceptPopupView::aboutMenuButtonTapped, this));
      auto menuItemPrivacyPolicy = cocos2d::MenuItemFont::create("Privacy Policy", CC_CALLBACK_1(TOSAcceptPopupView::privacyPolicyMenuButtonTapped, this));
      auto menuCenter = cocos2d::Menu::create(menuItemAbout,menuItemPrivacyPolicy, NULL);
      menuCenter->setContentSize(cocos2d::Size(MAX(menuItemAbout->getBoundingBox().size.width, menuItemPrivacyPolicy->getBoundingBox().size.width), menuItemAbout->getBoundingBox().size.height + menuItemPrivacyPolicy->getBoundingBox().size.height + 3*menuPadding));
      menuCenter->setColor(menuItemColor);
      menuCenter->alignItemsVerticallyWithPadding(menuPadding);
      addChild(menuCenter);
      auto menuPaddingLEft = 60*ScalingUtils::scaleAspectFillToDesignIpadProSize();//TODO magic number; //mod for food app menu
      menuCenter->setPosition(wholeSize.width/2 + menuPaddingLEft, wholeSize.height/2);
a116d99f   xiaoyu   使所有游戏的隐私相关的弹窗消失
63
64
  
      menuCenter->setVisible(false);
cb213901   xiaoyu   添加一个游戏的源码和编译选项
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
      
      auto buttonAccept = SimpleButton::create();
      auto acceptButtonTexturePath = "graphics/tos_popup/accept_button.png";
      buttonAccept->loadTextures(acceptButtonTexturePath, acceptButtonTexturePath, acceptButtonTexturePath);
      addChild(buttonAccept);
      buttonAccept->setAnchorPoint(cocos2d::Vec2(0.5, 1));
      buttonAccept->cocos2d::Node::setPosition(wholeSize.width/2+menuPaddingLEft, menuCenter->getPositionY() - menuCenter->getContentSize().height/2 - menuPadding);
      buttonAccept->setOnTouchEndedCallback([&](std::string name, cocos2d::ui::Widget::TouchEventType eventType){
          _onAcceptCallback();
          MiscUtils::hideAndRemoveView(this, true);
  //        presentParentalGate([&](){
  //            hideParentalGate();
  //            _onAcceptCallback();
  //            MiscUtils::hideAndRemoveView(this, true);
  //        }, [&](){
  //            hideParentalGate();
  //        });
      });
  }
  
  void TOSAcceptPopupView::aboutMenuButtonTapped(cocos2d::Ref* pSender){
      presentParentalGate([&](){
          hideParentalGate();
          //cocos2d::Application::getInstance()->openURL(Strings::LINK_TERMS_OF_SERVICE);
          cocos2d::Application::getInstance()->openURL("https://www.wattsenglish.com/steve-and-maggie-halloween/terms-of-use.html");
      }, [&](){
          hideParentalGate();
      });
  }
  
  void TOSAcceptPopupView::privacyPolicyMenuButtonTapped(cocos2d::Ref* pSender){
      presentParentalGate([&](){
          hideParentalGate();
          cocos2d::Application::getInstance()->openURL("https://www.wattsenglish.com/steve-and-maggie-halloween/principles-of-personal-data-processing.html");
  //        cocos2d::Application::getInstance()->openURL(Strings::LINK_PRIVACY_POLICY);
      }, [&](){
          hideParentalGate();
      });
  }