You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
8.0 KiB
221 lines
8.0 KiB
// 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) {}
|
|
}
|
|
|