window.UtilsPrefabs = { PrefabsName: [ "prefab/share", "prefab/show", "prefab/login", "prefab/loading", "prefab/stock", ], sharePrefab: [ "prefab/share", "prefab/sharepublic", "prefab/MoneyFlyAfterShare", ], init: function (parentNode) { this.parentNode = parentNode; return this; }, getPrefabsName: function () { return this.prefabsName; }, addPrefabs: function (prefabsName, parentNode, callback) { cc.loader.loadRes(prefabsName, function (err, texture) { var node = this.parentNode; if (parentNode != null) { node = parentNode; } var prefab = cc.instantiate(texture); this.prefabsName = prefab.name; this.removePrefabs(node, this.prefabsName); if (node != null) { node.addChild(prefab); } else { return; } // this.dialogLuckView.active = false; // this.GivePrize = this.getNode("GivePrize",this.showDialogs); // //转 // this.Sunshine = this.getNode("Sunshine",this.GivePrize); // //物品 // this.Rewards = this.getNode("Rewards",this.GivePrize); // //关闭按钮 // this.close = this.getNode("close",this.showDialogs); if (callback != null) { callback(prefab); } }.bind(this)); }, removePrefabs: function (parentNode, prefabsName, success, fail) { var node = this.parentNode; if (parentNode != null) { node = parentNode; } if (node != null) { if (node.getChildByName(prefabsName) != null) { node.getChildByName(prefabsName).off(cc.Node.EventType.TOUCH_END); node.getChildByName(prefabsName).destroy(); if (success != null) { success(); } } else { if (fail != null) { fail(); } } } }, setOff: function (node) { node.off(cc.Node.EventType.TOUCH_END); }, setOn: function (node, callback) { if (node != null) { node.on(cc.Node.EventType.TOUCH_END, callback); } else { console.log("当前被放进来的node节点没有可以点击的名字 请关注此段警告"); } return this; }, getNode: function (name, parent) { if (parent == null) { if (this.parentNode.getChildByName(name) == null) { // console.log("在",this.parentNode,"没有找到名字为"+name+"的node"); } return this.parentNode.getChildByName(name); } else { if (parent.getChildByName(name) == null) { // console.log("在",parent,"没有找到名字为"+name+"的node"); } return parent.getChildByName(name); } }, //开始分享 /** UtilsPrefabs.startSharePrefab(function () { this.Building_t(); }.bind(this),function () { this.Building_t(); }.bind(this)); * @param Success * @param fail */ startSharePrefab: function (Success, fail, callbackNode) { var Canvas = cc.find("Canvas/UICamera"); UtilsPrefabs .init(Canvas) .addPrefabs(UtilsPrefabs.sharePrefab[1], null, function (node) { if (callbackNode != null) { callbackNode(node); } // node.y = -200; // node.x = -20; var gosharebtn = UtilsPrefabs.getNode("gosharebtn", node); // var img1 = UtilsPrefabs.getNode("img1", node); // var NewLabel1 = UtilsPrefabs.getNode("New Label", img1); // var img2 = UtilsPrefabs.getNode("img2", node); // var NewLabel2 = UtilsPrefabs.getNode("New Label", img2); // NewLabel1.getComponent(cc.Label).string = 'x'+GlobalD.GameData.publicGive[0]; // NewLabel2.getComponent(cc.Label).string = 'x'+GlobalD.GameData.publicGive[1]; var close = UtilsPrefabs.getNode("close", node); UtilsPrefabs.setOn(close, function () { UtilsPrefabs.removePrefabs(Canvas, node.name); // if (task.taskCursor == 4) { // task.addTaskCount(); // task.removeTaskNodes(); // } if (fail != null) { fail(); } }.bind(this)); UtilsPrefabs.setOn(gosharebtn, function () { // console.log("点击分享按钮"); UtilsWX.sharebtn(function () { UtilsPrefabs.setOff(gosharebtn); GlobalD.GameData.PlusGolden(GlobalD.GameData.publicGive[0]); GlobalD.GameData.PlusDiamond(GlobalD.GameData.publicGive[1]); UtilsPrefabs .init(Canvas) .addPrefabs(UtilsPrefabs.sharePrefab[2], null, function (node) { // cc.log(node.name+"***********000"); node.zIndex = 10000; var MoneyFlyAnim = node.getChildByName('MoneyAnim').getComponent(cc.Animation); MoneyFlyAnim.RemoveNode = function () { node.destroy(); // cc.log('111111111',node); } }); if (Success != null) { Success(); } }.bind(this)); UtilsPrefabs.removePrefabs(Canvas, node.name); // if (task.taskCursor == 4) { // task.addTaskCount(); // task.removeTaskNodes(); // } }.bind(this)) }.bind(this)); }, loadResSpriteFrame: function (src, callback) { cc.loader.loadRes(src, cc.SpriteFrame, function (err, texture) { if (callback != null) { callback(texture); } }.bind(this)); }, //观看视频领取金币 /** * @param Success * @param fail */ videoAdPrefab: function (Success, fail, callbackNode) { var Canvas = cc.find("Canvas/UICamera"); UtilsPrefabs.init(Canvas).addPrefabs("prefab/videoAdView", null, function (node) { if (callbackNode != null) { callbackNode(node); } let buildSprite = UtilsPrefabs.getNode("buildSprite", node).getComponent(cc.Sprite); // let moneyLabel = UtilsPrefabs.getNode("moneyLabel", node).getComponent(cc.Label); // let nameLabel = UtilsPrefabs.getNode("nameLabel", node).getComponent(cc.Label); let BuildingLockStateArray = GlobalD.GameData.GetBuildingLockStateArray(); let BuildingFrameArray = GlobalD.game._ManageUIScript.BuildingFrameArray; for (let i = 0; i < BuildingLockStateArray.length; i++) { if (BuildingLockStateArray[i] == 0) { //BuildingFrameArray[i].getChildByName('Lock').getChildByName('PriceBG').getChildByName('label').getComponent(cc.Label).string = this.FormatMoney(AConfig.BuildingUnlockMoneyArray[i]); //设置还没解锁的建筑显示 let contentButton = BuildingFrameArray[i].getComponent('Content_Button'); buildSprite.spriteFrame = contentButton.Sprite.spriteFrame; // let _DiamondNumArray = GlobalD.GameData.GetDiamondNumArray(); // moneyLabel.string = '¥' + _DiamondNumArray[i]; //钻石费用 // nameLabel.string = '解锁'+contentButton.Name+"还需要" break; } } var gosharebtn = UtilsPrefabs.getNode("gosharebtn", node); // var close = UtilsPrefabs.getNode("close", node); // UtilsPrefabs.setOn(close, function () { // UtilsPrefabs.removePrefabs(Canvas, node.name); // if (fail != null) { // fail(); // } // }.bind(this)); setTimeout(() => { UtilsPrefabs.removePrefabs(Canvas, node.name); }, 10000); UtilsPrefabs.setOn(gosharebtn, function () { // //关闭一下底部广告组件 // this.ManageAd.getComponent('ManageAd').onCloseBannerAd(); //观看广告视频 AD.playVideoAd((res) => { if (!res.isPlay) { console.log('ManageTimer不能播放广告:', res.data); } else { if (Success != null) { Success(); } GlobalD.GameData.PlusGolden(GlobalD.GameData.videoAdGive[0]); GlobalD.GameData.PlusDiamond(GlobalD.GameData.videoAdGive[1]); } }); UtilsPrefabs.removePrefabs(Canvas, node.name); }.bind(this)) }.bind(this)); }, //登录金币收益 /** * @param Success * @param fail */ loginAdPrefab: function (Success, fail, callbackNode) { var Canvas = cc.find("Canvas/UICamera"); UtilsPrefabs.init(Canvas).addPrefabs("prefab/loginAward", null, function (node) { if (callbackNode != null) { callbackNode(node); } var collection = UtilsPrefabs.getNode("Collection", node); var close = UtilsPrefabs.getNode("close", node); var dCollection = UtilsPrefabs.getNode("dCollection", node); UtilsPrefabs.setOn(close, function () { UtilsPrefabs.removePrefabs(Canvas, node.name); if (fail != null) { fail(); } }.bind(this)); UtilsPrefabs.setOn(collection, function () { //关闭一下底部广告组件 // this.ManageAd.getComponent('ManageAd').onCloseBannerAd(); //观看广告视频 AD.playVideoAd((res) => { if (!res.isPlay) { console.log('loginAdPrefab不能播放广告:', res.data); } else { //播放成功,领取双倍 GlobalD.GameData.PlusGolden(GlobalD.GameData.secondLoginAdGive[0] * 2); if (Success != null) { Success(); } } }); UtilsPrefabs.removePrefabs(Canvas, node.name); }.bind(this)) UtilsPrefabs.setOn(dCollection, function () { //直接领取 if (Success != null) { Success(); } //直接领取,正常值 GlobalD.GameData.PlusGolden(GlobalD.GameData.secondLoginAdGive[0]); UtilsPrefabs.removePrefabs(Canvas, node.name); }.bind(this)) }.bind(this)); }, }