|
@@ -1,526 +1,526 @@
|
|
|
-var WxCommon = require("../WxCommon")
|
|
|
-var cfg = require("Configure")
|
|
|
-
|
|
|
-// @TODO 引入sdk代码
|
|
|
-import DwSdk from "../duowansdk/DwSdk";
|
|
|
-const debug = false;
|
|
|
-const objSdk = new DwSdk("布丁弹一弹", debug);
|
|
|
-// 注册sdk的update事件
|
|
|
-cc.director.on(cc.Director.EVENT_AFTER_DRAW, objSdk.update);
|
|
|
-
|
|
|
-cc.Class({
|
|
|
- extends: cc.Component,
|
|
|
-
|
|
|
- properties: {
|
|
|
- gamebgMusic: {
|
|
|
- default: null,
|
|
|
- type: cc.AudioClip
|
|
|
- },
|
|
|
-
|
|
|
- buttonAudio: {
|
|
|
- default: null,
|
|
|
- type: cc.AudioClip
|
|
|
- },
|
|
|
-
|
|
|
- SignAtlas: {
|
|
|
- default: null,
|
|
|
- type: cc.SpriteAtlas,
|
|
|
- },
|
|
|
-
|
|
|
- ShareStrategyNode: { //游戏攻略图片节点
|
|
|
- default: null,
|
|
|
- type: cc.Node
|
|
|
- },
|
|
|
- GuideNode: {
|
|
|
- default: null,
|
|
|
- type: cc.Node
|
|
|
- },
|
|
|
-
|
|
|
- feiendtex: null,
|
|
|
-
|
|
|
- otherGamesIndex: 0,
|
|
|
-
|
|
|
- skinIndex: 0,
|
|
|
-
|
|
|
- showGuideValue: true
|
|
|
- },
|
|
|
-
|
|
|
- // LIFE-CYCLE CALLBACKS:
|
|
|
-
|
|
|
- onLoad() {
|
|
|
- cc.audioEngine.playMusic(this.gamebgMusic, true);
|
|
|
-
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- this.WxLogin();
|
|
|
- this.initShare();
|
|
|
- // wx.setPreferredFramesPerSecond(30);
|
|
|
- }
|
|
|
-
|
|
|
- this.listenGame();
|
|
|
-
|
|
|
- //SDK接入
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- objSdk.showAdIcon(-360, -240, this.node);
|
|
|
- objSdk.showHomeAd();
|
|
|
- var launchOptions = wx.getLaunchOptionsSync();
|
|
|
- console.log(launchOptions.scene);
|
|
|
- let { screenWidth, screenHeight } = wx.getSystemInfoSync();
|
|
|
-
|
|
|
- let style = {
|
|
|
- left: 60,
|
|
|
- top: screenHeight - 100,
|
|
|
- width: screenWidth - 120,
|
|
|
- height: 100
|
|
|
- }
|
|
|
- if (screenWidth <= 360) {
|
|
|
- style.left = (screenWidth - 320) / 2;
|
|
|
- }
|
|
|
- let indexBannerId = 'adunit-de205564802e4627',
|
|
|
- deadBannerId = 'adunit-7a574e7546c7062d',
|
|
|
- accountBannerId = 'adunit-1e3576e27d61175a';
|
|
|
-
|
|
|
- window.indexBanner = wx.createBannerAd({
|
|
|
- adUnitId: indexBannerId,
|
|
|
- style: style
|
|
|
- })
|
|
|
-
|
|
|
- indexBanner.onError(err => {
|
|
|
- console.log('indexBanner 拉取失败', err)
|
|
|
- })
|
|
|
-
|
|
|
- indexBanner.onResize(res => {
|
|
|
- console.log(res.width, res.height)
|
|
|
- indexBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
- indexBanner.style.top = screenHeight - res.height;
|
|
|
- })
|
|
|
-
|
|
|
- indexBanner.onLoad(() => {
|
|
|
- indexBanner.show()
|
|
|
- })
|
|
|
-
|
|
|
- window.deadBanner = wx.createBannerAd({
|
|
|
- adUnitId: deadBannerId,
|
|
|
- style: style
|
|
|
- })
|
|
|
-
|
|
|
- deadBanner.onResize(res => {
|
|
|
- deadBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
- deadBanner.style.top = screenHeight - res.height;
|
|
|
- })
|
|
|
-
|
|
|
- deadBanner.onError(err => {
|
|
|
- console.log('deadBanner 拉取失败', err)
|
|
|
- })
|
|
|
-
|
|
|
- window.accountBanner = wx.createBannerAd({
|
|
|
- adUnitId: accountBannerId,
|
|
|
- style: style
|
|
|
- })
|
|
|
-
|
|
|
- accountBanner.onResize(res => {
|
|
|
- accountBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
- accountBanner.style.top = screenHeight - res.height;
|
|
|
- })
|
|
|
-
|
|
|
- accountBanner.onError(err => {
|
|
|
- console.log('accountBanner 拉取失败', err)
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- start() {
|
|
|
- this.feiendtex = new cc.Texture2D();
|
|
|
- this.PHB = cc.find("Canvas/PHB")
|
|
|
- this.rankScene = this.PHB.getComponent("RankScene");
|
|
|
- this.rankNode = this.PHB.getChildByName("Rank")
|
|
|
- this.myRankNode = this.PHB.getChildByName('MyRank')
|
|
|
- this.worldContentNode = this.rankNode.getChildByName('WorldContent')
|
|
|
- this.friendContentNode = this.rankNode.getChildByName('FriendContent')
|
|
|
- },
|
|
|
-
|
|
|
- WxLogin() {
|
|
|
- if (UserInfo.platform != 1) {
|
|
|
- return;
|
|
|
- }
|
|
|
- wx.login({
|
|
|
- success: function (res) {
|
|
|
- if (res.code) {
|
|
|
- var js_code = res.code;
|
|
|
- } else {
|
|
|
- console.log('登录失败!' + res.errMsg)
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- initShare(data) {
|
|
|
- let datavalue = UserInfo.getString('allscore');
|
|
|
- let key = UserInfo.getCurWeekScoreValue();
|
|
|
- if (UserInfo.IsEmpty(datavalue)) {
|
|
|
- UserInfo.setString('allscore', key);
|
|
|
- return;
|
|
|
- }
|
|
|
- let datalist = datavalue.split('*');
|
|
|
- let removeIndex = -1;
|
|
|
- for (let index = 0; index < datalist.length; ++index) {
|
|
|
- if (key == datalist[index]) {
|
|
|
- // UserInfo.removeString(datalist[index]);
|
|
|
- removeIndex = index;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (removeIndex != -1) {
|
|
|
- datalist.splice(removeIndex, 1);
|
|
|
- }
|
|
|
- WxCommon.RemoveUserCloudStorage(datalist, this, this.RemoveScoreKey);
|
|
|
- // this.RemoveScoreKey(datalist, true);
|
|
|
- },
|
|
|
-
|
|
|
- listenGame() {
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- // var date = UserInfo.GetNowFormatDate();
|
|
|
- this.OnUpdateGame();
|
|
|
- WxCommon.SetEnableDebug(false);
|
|
|
- WxCommon.OnShow(null, this, null);
|
|
|
- WxCommon.ShowShareMenu();
|
|
|
- WxCommon.OnShareAppMessage(null, this, this.shareCallback);
|
|
|
- WxCommon.GetSystemInfo(null, this, null);
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- OnUpdateGame() {
|
|
|
- const updateManager = wx.getUpdateManager()
|
|
|
-
|
|
|
- updateManager.onCheckForUpdate(function (res) {
|
|
|
- // 请求完新版本信息的回调
|
|
|
- console.log(res.hasUpdate)
|
|
|
- })
|
|
|
-
|
|
|
- updateManager.onUpdateReady(function () {
|
|
|
- wx.showModal({
|
|
|
- title: '更新提示',
|
|
|
- content: '新版本已经准备好,是否重启应用?',
|
|
|
- success: function (res) {
|
|
|
- if (res.confirm) {
|
|
|
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
|
|
- updateManager.applyUpdate()
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- })
|
|
|
-
|
|
|
- updateManager.onUpdateFailed(function () {
|
|
|
- // 新的版本下载失败
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- onRankBtn: function (event, optData) {
|
|
|
- console.log('onrankbtn:', optData)
|
|
|
- if (UserInfo.platform != 1 || !cc.vv.isRank) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- wx.postMessage({
|
|
|
- method: 'showFriendRank',
|
|
|
- data: optData
|
|
|
- });
|
|
|
-
|
|
|
- cc.find("Canvas/PHB").getChildByName("BtnPHBClose").active = (optData == "true");
|
|
|
- cc.find("Canvas/PHB").getChildByName("emptyBtn").active = (optData == "true");
|
|
|
- cc.find("Canvas/PHB").getChildByName("bg").active = (optData == "true");
|
|
|
-
|
|
|
- if (this.node.active) {
|
|
|
- if ("true" == optData) {
|
|
|
- window.indexBanner.hide();
|
|
|
- this.rankScene.status = 1;
|
|
|
- this.showRank();
|
|
|
- }
|
|
|
- if ("false" == optData) {
|
|
|
- window.indexBanner.show();
|
|
|
- wx.postMessage({
|
|
|
- method: 'hideRank',
|
|
|
- data: optData
|
|
|
- });
|
|
|
- cc.find("Canvas/PHB").active = false;
|
|
|
- }
|
|
|
- } else {
|
|
|
- this.rankScene.status = 3;
|
|
|
- window.accountBanner.show();
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- showRank() {
|
|
|
- if (UserInfo.platform == 1 && cc.vv.isRank) {
|
|
|
- this.myRankNode.active = false;
|
|
|
- this.rankNode.active = true;
|
|
|
- if (this.rankScene.status == 1) {
|
|
|
- let openDataContext = wx.getOpenDataContext();
|
|
|
- let sharedCanvas = openDataContext.canvas;
|
|
|
- this.feiendtex.initWithElement(sharedCanvas);
|
|
|
- this.feiendtex.handleLoadedTexture();
|
|
|
- this.friendContentNode.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(this.feiendtex);
|
|
|
- var scale = Math.min(750 / this.feiendtex.width, 1334 / this.feiendtex.height);
|
|
|
- this.friendContentNode.setContentSize(this.feiendtex.width * scale, this.feiendtex.height * scale);
|
|
|
- }
|
|
|
- this.PHB.active = true;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- update: function () {
|
|
|
- if (cc.find("Canvas/PHB").active) {
|
|
|
- this.showRank();
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- onGameStartBtn: function () {
|
|
|
- this.node.parent.getChildByName("SkinNode").active = false;
|
|
|
- window.indexBanner.hide();
|
|
|
- if (this.showGuide()) {
|
|
|
- this.GuideNode.active = true;
|
|
|
- } else {
|
|
|
- if (this.skinIndex != UserInfo.getSkinIndex()) {
|
|
|
- UserInfo.setSkinIndex(this.skinIndex);
|
|
|
- }
|
|
|
-
|
|
|
- if (this.node.active) {
|
|
|
- cc.audioEngine.stopMusic(this.gamebgMusic);
|
|
|
- this.node.parent.getComponent("SenceManager").enterSence("Home", "Game");
|
|
|
- } else {
|
|
|
- this.node.parent.getChildByName("Game").getComponent("GameSence").onRestartBtn();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- showGuide() {
|
|
|
- if (!this.showGuideValue) return false;
|
|
|
- console.log('show guide');
|
|
|
- var getStorage = function (key) {
|
|
|
- return window.wx ? window.wx.getStorageSync(key) : localStorage.getItem(key);
|
|
|
- }
|
|
|
- var setStorage = function (key, value) {
|
|
|
- return window.wx ? window.wx.setStorageSync(key, value) : localStorage.setItem(key, value);
|
|
|
- }
|
|
|
- var key = 'guideTime';
|
|
|
- var guideTime = getStorage(key);
|
|
|
- var now = new Date();
|
|
|
- var year = now.getFullYear();
|
|
|
- var month = now.getMonth() + 1;
|
|
|
- var date = now.getDate();
|
|
|
- var guideTimeValue = [year, month, date].join('/');
|
|
|
-
|
|
|
- if (!guideTime || guideTime != guideTimeValue) {
|
|
|
- setStorage(key, guideTimeValue);
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- this.GuideNode && this.GuideNode.destroy();
|
|
|
- this.showGuideValue = false;
|
|
|
- return false;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- onSkinBtn: function (event, optData) {
|
|
|
- if (optData == "true") {
|
|
|
- this.node.parent.getChildByName("SkinNode").active = true;
|
|
|
- this.skinIndex = UserInfo.getSkinIndex();
|
|
|
- var sumScoreLabel = this.node.parent.getChildByName("SkinNode").getChildByName("SumScoreSp").getChildByName("SumScoreLabel");
|
|
|
- sumScoreLabel.getComponent("cc.Label").string = UserInfo.getTotalGold();
|
|
|
-
|
|
|
- this.updateSkinNode();
|
|
|
- window.indexBanner.hide();
|
|
|
- } else if (optData == "false") {
|
|
|
- this.node.parent.getChildByName("SkinNode").active = false;
|
|
|
- window.indexBanner.show();
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- updateSkinNode: function () {
|
|
|
- var skinNode = this.node.parent.getChildByName("SkinNode");
|
|
|
- if (this.skinIndex == 0) {
|
|
|
- skinNode.getChildByName("RightBtn").active = true;
|
|
|
- skinNode.getChildByName("LeftBtn").active = false;
|
|
|
- } else if (this.skinIndex == cfg.skinTypePath.length - 1) {
|
|
|
- skinNode.getChildByName("RightBtn").active = false;
|
|
|
- skinNode.getChildByName("LeftBtn").active = true;
|
|
|
- } else {
|
|
|
- skinNode.getChildByName("RightBtn").active = true;
|
|
|
- skinNode.getChildByName("LeftBtn").active = true;
|
|
|
- }
|
|
|
-
|
|
|
- var skSpine = skinNode.getChildByName("skSprite");
|
|
|
- skSpine.getComponent("sp.Skeleton").setSkin("p" + (this.skinIndex + 1));
|
|
|
-
|
|
|
- //var self = this;
|
|
|
- //cc.loader.loadRes(cfg.skinTypePath[self.skinIndex],cc.SpriteFrame,function(err,spriteFrame){
|
|
|
- //var skinsp = skinNode.getChildByName("SkinSp");
|
|
|
- //skinsp.getComponent("cc.Sprite").spriteFrame = spriteFrame;
|
|
|
-
|
|
|
- var condition1 = skinNode.getChildByName("Condition1");
|
|
|
- var condition2 = skinNode.getChildByName("Condition2");
|
|
|
- var lockerSp = skinNode.getChildByName("LockerSp");
|
|
|
- var playBtn = skinNode.getChildByName("PlayBtn");
|
|
|
- var unlockSp = skinNode.getChildByName("UnlockSp");
|
|
|
- if (this.skinIndex > 0) {
|
|
|
- if (cfg.skinCondition[this.skinIndex].scoreType == 0) {
|
|
|
- var historyScore = UserInfo.getHistoryScore();
|
|
|
- if (historyScore >= cfg.skinCondition[this.skinIndex].score) {
|
|
|
- condition1.active = false;
|
|
|
- condition2.active = false;
|
|
|
- unlockSp.active = true;
|
|
|
- lockerSp.active = false;
|
|
|
- playBtn.active = true;
|
|
|
- } else {
|
|
|
- condition1.active = true;
|
|
|
- condition2.active = false;
|
|
|
- unlockSp.active = false;
|
|
|
- lockerSp.active = true;
|
|
|
- playBtn.active = false;
|
|
|
-
|
|
|
- condition1.getChildByName("ConditionLabel").getComponent("cc.Label").string = historyScore + "." + cfg.skinCondition[this.skinIndex].score;
|
|
|
- }
|
|
|
-
|
|
|
- } else if (cfg.skinCondition[this.skinIndex].scoreType == 1) {
|
|
|
- var sumScore = UserInfo.getTotalGold();
|
|
|
- if (sumScore >= cfg.skinCondition[this.skinIndex].score) {
|
|
|
- condition1.active = false;
|
|
|
- condition2.active = false;
|
|
|
- unlockSp.active = true;
|
|
|
- lockerSp.active = false;
|
|
|
- playBtn.active = true;
|
|
|
- } else {
|
|
|
- condition1.active = false;
|
|
|
- condition2.active = true;
|
|
|
- unlockSp.active = false;
|
|
|
- lockerSp.active = true;
|
|
|
- playBtn.active = false;
|
|
|
-
|
|
|
- condition2.getChildByName("ConditionLabel").getComponent("cc.Label").string = cfg.skinCondition[this.skinIndex].score;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- condition1.active = false;
|
|
|
- condition2.active = false;
|
|
|
- lockerSp.active = false;
|
|
|
- playBtn.active = true;
|
|
|
- unlockSp.active = true;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //})
|
|
|
- },
|
|
|
-
|
|
|
- onGuideBtn: function (event) {
|
|
|
- this.node.parent.getChildByName("Guide").active = false;
|
|
|
- window.indexBanner.show();
|
|
|
- },
|
|
|
-
|
|
|
- onNextBtn: function (event, optData) {
|
|
|
- if (optData == "right") {
|
|
|
- this.skinIndex++;
|
|
|
- } else if (optData = "left") {
|
|
|
- this.skinIndex--;
|
|
|
- }
|
|
|
-
|
|
|
- this.updateSkinNode();
|
|
|
- },
|
|
|
-
|
|
|
- onHonourBtn: function () {
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- onMoreBtn: function (event, optData) {
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- objSdk.openGameCenter();
|
|
|
- // wx.navigateToMiniProgram({
|
|
|
- // appId: "wx582548bc3a843fed",
|
|
|
- // path: "pages/index",
|
|
|
- // extraData: {
|
|
|
- // fromGame: "budinggame"
|
|
|
- // }
|
|
|
- // })
|
|
|
- } else {
|
|
|
- if (this.node.active) {
|
|
|
- this.node.getChildByName("GameStartBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
- this.node.getChildByName("SkinBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
- this.node.getChildByName("HonourBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
- this.node.getChildByName("RankBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
- this.node.getChildByName("MoreBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
- } else {
|
|
|
- this.node.parent.getChildByName("Game").getComponent("GameSence").onMoreGameBtn(optData);
|
|
|
- }
|
|
|
-
|
|
|
- this.ShareStrategyNode.active = (optData == "true");
|
|
|
-
|
|
|
- if (optData == "true") {
|
|
|
- this.createTimer();
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- //微信分享
|
|
|
- onShareBtn: function () {
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- var data = {
|
|
|
- titleData: UserInfo.shareDesc,
|
|
|
- imgurlData: UserInfo.shareUrl
|
|
|
- }
|
|
|
- WxCommon.ShareAppMessage(data, this, null);
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- createTimer: function () {
|
|
|
- var self = this;
|
|
|
- var updateOtherGames = function () {
|
|
|
- self.otherGamesIndex = (self.otherGamesIndex + 1 + WxCommon.otherGameCount) % WxCommon.otherGameCount;
|
|
|
- self.ShareStrategyNode.getChildByName("OtherGameBtn").getComponent(cc.Sprite).spriteFrame = self.SignAtlas.getSpriteFrame('games' + self.otherGamesIndex);
|
|
|
- self.createTimer();
|
|
|
- };
|
|
|
-
|
|
|
- if (this.ShareStrategyNode.active == true) {
|
|
|
- this.timerid = setTimeout(updateOtherGames, 2000);
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- onShowOtherGame: function () {
|
|
|
- if (CC_WECHATGAME) {
|
|
|
- var path = WxCommon.otherGameMap.get(this.otherGamesIndex);
|
|
|
- WxCommon.PreviewImage(path, this, this.hideNode);
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- killTimer: function () {
|
|
|
- if (this.timerid != null) {
|
|
|
- clearTimeout(this.timerid);
|
|
|
- this.timerid = null;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- hideNode: function () {
|
|
|
- if (this.ShareStrategyNode.active) {
|
|
|
- this.killTimer();
|
|
|
- this.ShareStrategyNode.active = false;
|
|
|
-
|
|
|
- if (this.node.active) {
|
|
|
- this.node.getChildByName("GameStartBtn").getComponent("cc.Button").interactable = true;
|
|
|
- this.node.getChildByName("SkinBtn").getComponent("cc.Button").interactable = true;
|
|
|
- this.node.getChildByName("HonourBtn").getComponent("cc.Button").interactable = true;
|
|
|
- this.node.getChildByName("RankBtn").getComponent("cc.Button").interactable = true;
|
|
|
- this.node.getChildByName("MoreBtn").getComponent("cc.Button").interactable = true;
|
|
|
- } else {
|
|
|
- this.node.parent.getChildByName("Game").getComponent("GameSence").onMoreGameBtn("false");
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- onBtnAudio: function () {
|
|
|
- cc.audioEngine.playEffect(this.buttonAudio);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // update (dt) {},
|
|
|
-});
|
|
|
+var WxCommon = require("../WxCommon")
|
|
|
+var cfg = require("Configure")
|
|
|
+
|
|
|
+// @TODO 引入sdk代码
|
|
|
+// import DwSdk from "../duowansdk/DwSdk";
|
|
|
+const debug = false;
|
|
|
+// const objSdk = new DwSdk("布丁弹一弹", debug);
|
|
|
+// 注册sdk的update事件
|
|
|
+// cc.director.on(cc.Director.EVENT_AFTER_DRAW, objSdk.update);
|
|
|
+
|
|
|
+cc.Class({
|
|
|
+ extends: cc.Component,
|
|
|
+
|
|
|
+ properties: {
|
|
|
+ gamebgMusic: {
|
|
|
+ default: null,
|
|
|
+ type: cc.AudioClip
|
|
|
+ },
|
|
|
+
|
|
|
+ buttonAudio: {
|
|
|
+ default: null,
|
|
|
+ type: cc.AudioClip
|
|
|
+ },
|
|
|
+
|
|
|
+ SignAtlas: {
|
|
|
+ default: null,
|
|
|
+ type: cc.SpriteAtlas,
|
|
|
+ },
|
|
|
+
|
|
|
+ ShareStrategyNode: { //游戏攻略图片节点
|
|
|
+ default: null,
|
|
|
+ type: cc.Node
|
|
|
+ },
|
|
|
+ GuideNode: {
|
|
|
+ default: null,
|
|
|
+ type: cc.Node
|
|
|
+ },
|
|
|
+
|
|
|
+ feiendtex: null,
|
|
|
+
|
|
|
+ otherGamesIndex: 0,
|
|
|
+
|
|
|
+ skinIndex: 0,
|
|
|
+
|
|
|
+ showGuideValue: true
|
|
|
+ },
|
|
|
+
|
|
|
+ // LIFE-CYCLE CALLBACKS:
|
|
|
+
|
|
|
+ onLoad() {
|
|
|
+ cc.audioEngine.playMusic(this.gamebgMusic, true);
|
|
|
+
|
|
|
+ if (CC_WECHATGAME) {
|
|
|
+ this.WxLogin();
|
|
|
+ this.initShare();
|
|
|
+ // wx.setPreferredFramesPerSecond(30);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.listenGame();
|
|
|
+
|
|
|
+ //SDK接入
|
|
|
+ // if (CC_WECHATGAME) {
|
|
|
+ // objSdk.showAdIcon(-360, -240, this.node);
|
|
|
+ // objSdk.showHomeAd();
|
|
|
+ // var launchOptions = wx.getLaunchOptionsSync();
|
|
|
+ // console.log(launchOptions.scene);
|
|
|
+ // let { screenWidth, screenHeight } = wx.getSystemInfoSync();
|
|
|
+
|
|
|
+ // let style = {
|
|
|
+ // left: 60,
|
|
|
+ // top: screenHeight - 100,
|
|
|
+ // width: screenWidth - 120,
|
|
|
+ // height: 100
|
|
|
+ // }
|
|
|
+ // if (screenWidth <= 360) {
|
|
|
+ // style.left = (screenWidth - 320) / 2;
|
|
|
+ // }
|
|
|
+ // let indexBannerId = 'adunit-de205564802e4627',
|
|
|
+ // deadBannerId = 'adunit-7a574e7546c7062d',
|
|
|
+ // accountBannerId = 'adunit-1e3576e27d61175a';
|
|
|
+
|
|
|
+ // window.indexBanner = wx.createBannerAd({
|
|
|
+ // adUnitId: indexBannerId,
|
|
|
+ // style: style
|
|
|
+ // })
|
|
|
+
|
|
|
+ // indexBanner.onError(err => {
|
|
|
+ // console.log('indexBanner 拉取失败', err)
|
|
|
+ // })
|
|
|
+
|
|
|
+ // indexBanner.onResize(res => {
|
|
|
+ // console.log(res.width, res.height)
|
|
|
+ // indexBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
+ // indexBanner.style.top = screenHeight - res.height;
|
|
|
+ // })
|
|
|
+
|
|
|
+ // indexBanner.onLoad(() => {
|
|
|
+ // indexBanner.show()
|
|
|
+ // })
|
|
|
+
|
|
|
+ // window.deadBanner = wx.createBannerAd({
|
|
|
+ // adUnitId: deadBannerId,
|
|
|
+ // style: style
|
|
|
+ // })
|
|
|
+
|
|
|
+ // deadBanner.onResize(res => {
|
|
|
+ // deadBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
+ // deadBanner.style.top = screenHeight - res.height;
|
|
|
+ // })
|
|
|
+
|
|
|
+ // deadBanner.onError(err => {
|
|
|
+ // console.log('deadBanner 拉取失败', err)
|
|
|
+ // })
|
|
|
+
|
|
|
+ // window.accountBanner = wx.createBannerAd({
|
|
|
+ // adUnitId: accountBannerId,
|
|
|
+ // style: style
|
|
|
+ // })
|
|
|
+
|
|
|
+ // accountBanner.onResize(res => {
|
|
|
+ // accountBanner.style.left = (screenWidth - res.width) / 2;
|
|
|
+ // accountBanner.style.top = screenHeight - res.height;
|
|
|
+ // })
|
|
|
+
|
|
|
+ // accountBanner.onError(err => {
|
|
|
+ // console.log('accountBanner 拉取失败', err)
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ },
|
|
|
+
|
|
|
+ start() {
|
|
|
+ this.feiendtex = new cc.Texture2D();
|
|
|
+ this.PHB = cc.find("Canvas/PHB")
|
|
|
+ this.rankScene = this.PHB.getComponent("RankScene");
|
|
|
+ this.rankNode = this.PHB.getChildByName("Rank")
|
|
|
+ this.myRankNode = this.PHB.getChildByName('MyRank')
|
|
|
+ this.worldContentNode = this.rankNode.getChildByName('WorldContent')
|
|
|
+ this.friendContentNode = this.rankNode.getChildByName('FriendContent')
|
|
|
+ },
|
|
|
+
|
|
|
+ WxLogin() {
|
|
|
+ if (UserInfo.platform != 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wx.login({
|
|
|
+ success: function (res) {
|
|
|
+ if (res.code) {
|
|
|
+ var js_code = res.code;
|
|
|
+ } else {
|
|
|
+ console.log('登录失败!' + res.errMsg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ initShare(data) {
|
|
|
+ let datavalue = UserInfo.getString('allscore');
|
|
|
+ let key = UserInfo.getCurWeekScoreValue();
|
|
|
+ if (UserInfo.IsEmpty(datavalue)) {
|
|
|
+ UserInfo.setString('allscore', key);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let datalist = datavalue.split('*');
|
|
|
+ let removeIndex = -1;
|
|
|
+ for (let index = 0; index < datalist.length; ++index) {
|
|
|
+ if (key == datalist[index]) {
|
|
|
+ // UserInfo.removeString(datalist[index]);
|
|
|
+ removeIndex = index;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (removeIndex != -1) {
|
|
|
+ datalist.splice(removeIndex, 1);
|
|
|
+ }
|
|
|
+ WxCommon.RemoveUserCloudStorage(datalist, this, this.RemoveScoreKey);
|
|
|
+ // this.RemoveScoreKey(datalist, true);
|
|
|
+ },
|
|
|
+
|
|
|
+ listenGame() {
|
|
|
+ if (CC_WECHATGAME) {
|
|
|
+ // var date = UserInfo.GetNowFormatDate();
|
|
|
+ this.OnUpdateGame();
|
|
|
+ WxCommon.SetEnableDebug(false);
|
|
|
+ WxCommon.OnShow(null, this, null);
|
|
|
+ WxCommon.ShowShareMenu();
|
|
|
+ WxCommon.OnShareAppMessage(null, this, this.shareCallback);
|
|
|
+ WxCommon.GetSystemInfo(null, this, null);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ OnUpdateGame() {
|
|
|
+ const updateManager = wx.getUpdateManager()
|
|
|
+
|
|
|
+ updateManager.onCheckForUpdate(function (res) {
|
|
|
+ // 请求完新版本信息的回调
|
|
|
+ console.log(res.hasUpdate)
|
|
|
+ })
|
|
|
+
|
|
|
+ updateManager.onUpdateReady(function () {
|
|
|
+ wx.showModal({
|
|
|
+ title: '更新提示',
|
|
|
+ content: '新版本已经准备好,是否重启应用?',
|
|
|
+ success: function (res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
|
|
+ updateManager.applyUpdate()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+ updateManager.onUpdateFailed(function () {
|
|
|
+ // 新的版本下载失败
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ onRankBtn: function (event, optData) {
|
|
|
+ console.log('onrankbtn:', optData)
|
|
|
+ if (UserInfo.platform != 1 || !cc.vv.isRank) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ wx.postMessage({
|
|
|
+ method: 'showFriendRank',
|
|
|
+ data: optData
|
|
|
+ });
|
|
|
+
|
|
|
+ cc.find("Canvas/PHB").getChildByName("BtnPHBClose").active = (optData == "true");
|
|
|
+ cc.find("Canvas/PHB").getChildByName("emptyBtn").active = (optData == "true");
|
|
|
+ cc.find("Canvas/PHB").getChildByName("bg").active = (optData == "true");
|
|
|
+
|
|
|
+ if (this.node.active) {
|
|
|
+ if ("true" == optData) {
|
|
|
+ // window.indexBanner.hide();
|
|
|
+ this.rankScene.status = 1;
|
|
|
+ this.showRank();
|
|
|
+ }
|
|
|
+ if ("false" == optData) {
|
|
|
+ // window.indexBanner.show();
|
|
|
+ wx.postMessage({
|
|
|
+ method: 'hideRank',
|
|
|
+ data: optData
|
|
|
+ });
|
|
|
+ cc.find("Canvas/PHB").active = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.rankScene.status = 3;
|
|
|
+ // window.accountBanner.show();
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ showRank() {
|
|
|
+ if (UserInfo.platform == 1 && cc.vv.isRank) {
|
|
|
+ this.myRankNode.active = false;
|
|
|
+ this.rankNode.active = true;
|
|
|
+ if (this.rankScene.status == 1) {
|
|
|
+ let openDataContext = wx.getOpenDataContext();
|
|
|
+ let sharedCanvas = openDataContext.canvas;
|
|
|
+ this.feiendtex.initWithElement(sharedCanvas);
|
|
|
+ this.feiendtex.handleLoadedTexture();
|
|
|
+ this.friendContentNode.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(this.feiendtex);
|
|
|
+ var scale = Math.min(750 / this.feiendtex.width, 1334 / this.feiendtex.height);
|
|
|
+ this.friendContentNode.setContentSize(this.feiendtex.width * scale, this.feiendtex.height * scale);
|
|
|
+ }
|
|
|
+ this.PHB.active = true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ update: function () {
|
|
|
+ if (cc.find("Canvas/PHB").active) {
|
|
|
+ this.showRank();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onGameStartBtn: function () {
|
|
|
+ this.node.parent.getChildByName("SkinNode").active = false;
|
|
|
+ // window.indexBanner.hide();
|
|
|
+ if (this.showGuide()) {
|
|
|
+ this.GuideNode.active = true;
|
|
|
+ } else {
|
|
|
+ if (this.skinIndex != UserInfo.getSkinIndex()) {
|
|
|
+ UserInfo.setSkinIndex(this.skinIndex);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.node.active) {
|
|
|
+ cc.audioEngine.stopMusic(this.gamebgMusic);
|
|
|
+ this.node.parent.getComponent("SenceManager").enterSence("Home", "Game");
|
|
|
+ } else {
|
|
|
+ this.node.parent.getChildByName("Game").getComponent("GameSence").onRestartBtn();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ showGuide() {
|
|
|
+ if (!this.showGuideValue) return false;
|
|
|
+ console.log('show guide');
|
|
|
+ var getStorage = function (key) {
|
|
|
+ return window.wx ? window.wx.getStorageSync(key) : localStorage.getItem(key);
|
|
|
+ }
|
|
|
+ var setStorage = function (key, value) {
|
|
|
+ return window.wx ? window.wx.setStorageSync(key, value) : localStorage.setItem(key, value);
|
|
|
+ }
|
|
|
+ var key = 'guideTime';
|
|
|
+ var guideTime = getStorage(key);
|
|
|
+ var now = new Date();
|
|
|
+ var year = now.getFullYear();
|
|
|
+ var month = now.getMonth() + 1;
|
|
|
+ var date = now.getDate();
|
|
|
+ var guideTimeValue = [year, month, date].join('/');
|
|
|
+
|
|
|
+ if (!guideTime || guideTime != guideTimeValue) {
|
|
|
+ setStorage(key, guideTimeValue);
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ this.GuideNode && this.GuideNode.destroy();
|
|
|
+ this.showGuideValue = false;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onSkinBtn: function (event, optData) {
|
|
|
+ if (optData == "true") {
|
|
|
+ this.node.parent.getChildByName("SkinNode").active = true;
|
|
|
+ this.skinIndex = UserInfo.getSkinIndex();
|
|
|
+ var sumScoreLabel = this.node.parent.getChildByName("SkinNode").getChildByName("SumScoreSp").getChildByName("SumScoreLabel");
|
|
|
+ sumScoreLabel.getComponent("cc.Label").string = UserInfo.getTotalGold();
|
|
|
+
|
|
|
+ this.updateSkinNode();
|
|
|
+ // window.indexBanner.hide();
|
|
|
+ } else if (optData == "false") {
|
|
|
+ this.node.parent.getChildByName("SkinNode").active = false;
|
|
|
+ // window.indexBanner.show();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ updateSkinNode: function () {
|
|
|
+ var skinNode = this.node.parent.getChildByName("SkinNode");
|
|
|
+ if (this.skinIndex == 0) {
|
|
|
+ skinNode.getChildByName("RightBtn").active = true;
|
|
|
+ skinNode.getChildByName("LeftBtn").active = false;
|
|
|
+ } else if (this.skinIndex == cfg.skinTypePath.length - 1) {
|
|
|
+ skinNode.getChildByName("RightBtn").active = false;
|
|
|
+ skinNode.getChildByName("LeftBtn").active = true;
|
|
|
+ } else {
|
|
|
+ skinNode.getChildByName("RightBtn").active = true;
|
|
|
+ skinNode.getChildByName("LeftBtn").active = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ var skSpine = skinNode.getChildByName("skSprite");
|
|
|
+ skSpine.getComponent("sp.Skeleton").setSkin("p" + (this.skinIndex + 1));
|
|
|
+
|
|
|
+ //var self = this;
|
|
|
+ //cc.loader.loadRes(cfg.skinTypePath[self.skinIndex],cc.SpriteFrame,function(err,spriteFrame){
|
|
|
+ //var skinsp = skinNode.getChildByName("SkinSp");
|
|
|
+ //skinsp.getComponent("cc.Sprite").spriteFrame = spriteFrame;
|
|
|
+
|
|
|
+ var condition1 = skinNode.getChildByName("Condition1");
|
|
|
+ var condition2 = skinNode.getChildByName("Condition2");
|
|
|
+ var lockerSp = skinNode.getChildByName("LockerSp");
|
|
|
+ var playBtn = skinNode.getChildByName("PlayBtn");
|
|
|
+ var unlockSp = skinNode.getChildByName("UnlockSp");
|
|
|
+ if (this.skinIndex > 0) {
|
|
|
+ if (cfg.skinCondition[this.skinIndex].scoreType == 0) {
|
|
|
+ var historyScore = UserInfo.getHistoryScore();
|
|
|
+ if (historyScore >= cfg.skinCondition[this.skinIndex].score) {
|
|
|
+ condition1.active = false;
|
|
|
+ condition2.active = false;
|
|
|
+ unlockSp.active = true;
|
|
|
+ lockerSp.active = false;
|
|
|
+ playBtn.active = true;
|
|
|
+ } else {
|
|
|
+ condition1.active = true;
|
|
|
+ condition2.active = false;
|
|
|
+ unlockSp.active = false;
|
|
|
+ lockerSp.active = true;
|
|
|
+ playBtn.active = false;
|
|
|
+
|
|
|
+ condition1.getChildByName("ConditionLabel").getComponent("cc.Label").string = historyScore + "." + cfg.skinCondition[this.skinIndex].score;
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if (cfg.skinCondition[this.skinIndex].scoreType == 1) {
|
|
|
+ var sumScore = UserInfo.getTotalGold();
|
|
|
+ if (sumScore >= cfg.skinCondition[this.skinIndex].score) {
|
|
|
+ condition1.active = false;
|
|
|
+ condition2.active = false;
|
|
|
+ unlockSp.active = true;
|
|
|
+ lockerSp.active = false;
|
|
|
+ playBtn.active = true;
|
|
|
+ } else {
|
|
|
+ condition1.active = false;
|
|
|
+ condition2.active = true;
|
|
|
+ unlockSp.active = false;
|
|
|
+ lockerSp.active = true;
|
|
|
+ playBtn.active = false;
|
|
|
+
|
|
|
+ condition2.getChildByName("ConditionLabel").getComponent("cc.Label").string = cfg.skinCondition[this.skinIndex].score;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ condition1.active = false;
|
|
|
+ condition2.active = false;
|
|
|
+ lockerSp.active = false;
|
|
|
+ playBtn.active = true;
|
|
|
+ unlockSp.active = true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //})
|
|
|
+ },
|
|
|
+
|
|
|
+ onGuideBtn: function (event) {
|
|
|
+ this.node.parent.getChildByName("Guide").active = false;
|
|
|
+ // window.indexBanner.show();
|
|
|
+ },
|
|
|
+
|
|
|
+ onNextBtn: function (event, optData) {
|
|
|
+ if (optData == "right") {
|
|
|
+ this.skinIndex++;
|
|
|
+ } else if (optData = "left") {
|
|
|
+ this.skinIndex--;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.updateSkinNode();
|
|
|
+ },
|
|
|
+
|
|
|
+ onHonourBtn: function () {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ onMoreBtn: function (event, optData) {
|
|
|
+ if (CC_WECHATGAME) {
|
|
|
+ // objSdk.openGameCenter();
|
|
|
+ // wx.navigateToMiniProgram({
|
|
|
+ // appId: "wx582548bc3a843fed",
|
|
|
+ // path: "pages/index",
|
|
|
+ // extraData: {
|
|
|
+ // fromGame: "budinggame"
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ } else {
|
|
|
+ if (this.node.active) {
|
|
|
+ this.node.getChildByName("GameStartBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
+ this.node.getChildByName("SkinBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
+ this.node.getChildByName("HonourBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
+ this.node.getChildByName("RankBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
+ this.node.getChildByName("MoreBtn").getComponent("cc.Button").interactable = (optData == "false");
|
|
|
+ } else {
|
|
|
+ this.node.parent.getChildByName("Game").getComponent("GameSence").onMoreGameBtn(optData);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.ShareStrategyNode.active = (optData == "true");
|
|
|
+
|
|
|
+ if (optData == "true") {
|
|
|
+ this.createTimer();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ //微信分享
|
|
|
+ onShareBtn: function () {
|
|
|
+ if (CC_WECHATGAME) {
|
|
|
+ var data = {
|
|
|
+ titleData: UserInfo.shareDesc,
|
|
|
+ imgurlData: UserInfo.shareUrl
|
|
|
+ }
|
|
|
+ WxCommon.ShareAppMessage(data, this, null);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ createTimer: function () {
|
|
|
+ var self = this;
|
|
|
+ var updateOtherGames = function () {
|
|
|
+ self.otherGamesIndex = (self.otherGamesIndex + 1 + WxCommon.otherGameCount) % WxCommon.otherGameCount;
|
|
|
+ self.ShareStrategyNode.getChildByName("OtherGameBtn").getComponent(cc.Sprite).spriteFrame = self.SignAtlas.getSpriteFrame('games' + self.otherGamesIndex);
|
|
|
+ self.createTimer();
|
|
|
+ };
|
|
|
+
|
|
|
+ if (this.ShareStrategyNode.active == true) {
|
|
|
+ this.timerid = setTimeout(updateOtherGames, 2000);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onShowOtherGame: function () {
|
|
|
+ if (CC_WECHATGAME) {
|
|
|
+ var path = WxCommon.otherGameMap.get(this.otherGamesIndex);
|
|
|
+ WxCommon.PreviewImage(path, this, this.hideNode);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ killTimer: function () {
|
|
|
+ if (this.timerid != null) {
|
|
|
+ clearTimeout(this.timerid);
|
|
|
+ this.timerid = null;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ hideNode: function () {
|
|
|
+ if (this.ShareStrategyNode.active) {
|
|
|
+ this.killTimer();
|
|
|
+ this.ShareStrategyNode.active = false;
|
|
|
+
|
|
|
+ if (this.node.active) {
|
|
|
+ this.node.getChildByName("GameStartBtn").getComponent("cc.Button").interactable = true;
|
|
|
+ this.node.getChildByName("SkinBtn").getComponent("cc.Button").interactable = true;
|
|
|
+ this.node.getChildByName("HonourBtn").getComponent("cc.Button").interactable = true;
|
|
|
+ this.node.getChildByName("RankBtn").getComponent("cc.Button").interactable = true;
|
|
|
+ this.node.getChildByName("MoreBtn").getComponent("cc.Button").interactable = true;
|
|
|
+ } else {
|
|
|
+ this.node.parent.getChildByName("Game").getComponent("GameSence").onMoreGameBtn("false");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onBtnAudio: function () {
|
|
|
+ cc.audioEngine.playEffect(this.buttonAudio);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // update (dt) {},
|
|
|
+});
|