// Learn TypeScript: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html import User from "../../FrameWork/User/User"; import AppPlatform from "../../FrameWork/Util/AppPlatform"; import Common5 from "../../Platform/th/Common5"; import CommonDefine from "../../Platform/th/CommonDefine"; import List from "../../Platform/th/List"; import UiBase from "../GameBase/UiBase"; import BagManager from "../Manager/BagManager"; import LevelUpManager from "../Manager/LevelUpManager"; import UserManager from "../Manager/UserManager"; import PrefabManage from "../PrefabManager/PrefabManage"; import PaiHangBangItem from "./PaiHangBangItem"; const { ccclass, property } = cc._decorator; @ccclass export default class PaiHangBang extends UiBase { @property(List) listSP: List = null; //前3 @property(List) listSP_down: List = null; //我附近的 @property(List) listSP_firstsize: List = null; //前20 @property(cc.Label) myPaiMing: cc.Label = null; // LIFE-CYCLE CALLBACKS: // onLoad () {} // paihangbangDate = [] dataListSP = [] dataListSP_down = [] dataListSP_firstsize = [] // myBangdan = -1 rewardMoney = 0 myData: any; rankFront8: any; //前8名 rankFront20: any; //前20名 rankAfter20: any; //后20名 isWeek: boolean = false; start() { //加载json let self = this // this.paihangbangDate.length = 0 // cc.loader.loadRes('Json/gameConfig/paihangbang.json', function (err, gameconfig) { // if (err) { // return; // } // self.paihangbangDate = gameconfig.json; // self.setViewDate() // }); // CommonDefine.sendRankData((response) => { // console.log(response, 'getRankDataLink response+++++++++++===') // //我需要的数据及时更新 // self.myData = response.Data[0] // self.rankFront8 = response.Data_bak // self.rankFront20 = response.Data_bak1 // self.rankAfter20 = response.Data_bak2 // self.setViewDate() // }, () => { // }, false) this.checkAll() this.node.getChildByName("分享").active = !User.getPaiHangShareState() } //周榜 checkWeek() { let self = this CommonDefine.sendRankData((response) => { console.log(response, 'getRankDataLink response+++++++++++===') self.isWeek = true //我需要的数据及时更新 self.myData = response.Data[0] self.rankFront8 = response.Data_bak self.rankFront20 = response.Data_bak1 self.rankAfter20 = response.Data_bak2 self.setViewDate() }, () => { }, true) } //总榜 checkAll() { let self = this CommonDefine.sendRankData((response) => { console.log(response, 'getRankDataLink response+++++++++++===') //我需要的数据及时更新 self.isWeek = false self.myData = response.Data[0] self.rankFront8 = response.Data_bak self.rankFront20 = response.Data_bak1 self.rankAfter20 = response.Data_bak2 self.setViewDate() }, () => { }, false) } setViewDate() { let myWeekDayTime = User.getStatistics("myWeekDayTime") //不是新玩家点周榜直接显示前20名,其他不显示 if (this.isWeek && Date.now() > myWeekDayTime) { //前20名 this.dataListSP_firstsize = this.rankFront8 this.listSP_firstsize.numItems = this.dataListSP.length; this.node.getChildByName('我的排名框').active = false this.listSP.node.active = false this.listSP_down.node.active = false this.listSP_firstsize.node.active = true } else { this.listSP.node.active = true this.listSP_down.node.active = true this.listSP_firstsize.node.active = false //前3名 this.dataListSP = [] let count = 3 for (let i = 0; i < count; i++) { if (this.rankFront8[i]) { this.dataListSP.push(this.rankFront8[i]) } } this.listSP.numItems = this.dataListSP.length; //我附近的排名 this.dataListSP_down = [] for (let i = 0; i < this.rankFront20.length; i++) { this.dataListSP_down.push(this.rankFront20[i]) } this.dataListSP_down.push(this.myData) for (let i = 0; i < this.rankAfter20.length; i++) { this.dataListSP_down.push(this.rankAfter20[i]) } this.listSP_down.numItems = this.dataListSP_down.length; // 我的排名 let paihangbangReward = User.getPaihangbangReward() if (this.myData.rank <= 100) { this.rewardMoney = LevelUpManager.levelUpSpned() * 3 if (paihangbangReward[0] >= this.myData.rank && paihangbangReward[1] == 1) { this.node.getChildByName('我的排名框').getChildByName('videoBtn').active = false this.node.getChildByName('我的排名框').getChildByName('灰色').active = true let lab = this.node.getChildByName('我的排名框').getChildByName('灰色').getChildByName('lab').getComponent(cc.Label) lab.string = '已领取' } else { this.node.getChildByName('我的排名框').getChildByName('videoBtn').active = true this.node.getChildByName('我的排名框').getChildByName('灰色').active = false paihangbangReward[0] = this.myData.rank paihangbangReward[1] = 0 User.setPaihangbangReward(paihangbangReward) } this.myPaiMing.string = this.myData.rank + '' } else { this.myPaiMing.string = '未 进 榜' this.node.getChildByName('我的排名框').getChildByName('videoBtn').active = false this.node.getChildByName('我的排名框').getChildByName('灰色').active = true } } } onListMGridRender(item: cc.Node, idx: number) { let config = this.dataListSP[idx] let danItem: PaiHangBangItem = item.getComponent('PaiHangBangItem') danItem.setViewDate(config, idx) } onListMGridRender_down(item: cc.Node, idx: number) { let config = this.dataListSP_down[idx] let danItem: PaiHangBangItem = item.getComponent('PaiHangBangItem') danItem.setViewDate(config, idx) } onListMGridRender_FirstSize(item: cc.Node, idx: number) { let config = this.dataListSP_firstsize[idx] let danItem: PaiHangBangItem = item.getComponent('PaiHangBangItem') danItem.setViewDate(config, idx) } getRewardBtnClick() { let paihangbangReward = User.getPaihangbangReward() paihangbangReward[1] = 1 User.setPaihangbangReward(paihangbangReward) UserManager.addMoney(this.rewardMoney) this.node.getChildByName('我的排名框').getChildByName('videoBtn').active = false this.node.getChildByName('我的排名框').getChildByName('灰色').active = true let lab = this.node.getChildByName('我的排名框').getChildByName('灰色').getChildByName('lab').getComponent(cc.Label) PrefabManage.showTextTips('领取奖励成功') lab.string = '已领取' } onTouch() { AppPlatform.PlatformShare(() => { this.node.getChildByName("分享").active = false User.setPaiHangShareState(true) BagManager.addBagList({ goodId: 3700, goodNum: 1 }) }, '', '') } // update (dt) {} }