guoqing.zhu 956ab297c7 updat
2022-06-15 20:07:36 +08:00

158 lines
3.3 KiB
JavaScript

const jcgamelog = require('../../jcfw/service/jcgamelog');
const NetManage = require('../../manages/NetManage');
const { operation, OperationType } = require('../../Operation/Operation');
cc.Class({
extends: cc.Component,
properties: {
nd_my: {
default: null,
type: cc.Node,
},
tableView: {
default: null,
type: cc.Node,
},
spine_hero: {
default: null,
type: sp.Skeleton,
},
nd_btn1: {
default: null,
type: cc.Node,
},
nd_btn2: {
default: null,
type: cc.Node,
},
tableContent: {
default: null,
type: cc.Node,
},
title_time: {
default: null,
type: cc.Node,
},
title_score: {
default: null,
type: cc.Label,
},
},
// LIFE-CYCLE CALLBACKS:
init(data) {
this.type = 0;
this.rankData = data;
},
onLoad() {
// set can open
// NetManage.getRankOpenList((res) => {
// var rankList = res.list;
// if (rankList.includes(2) && this.nd_btn2)
// this.nd_btn2.active = true;
// });
this.title_time.active = false;
this.title_score.stirng = 'Score';
jcgamelog.addOperation(OperationType.BUTTON, 'get into rank');
cc.Notifier.on('clickrankhero', this, this.clickrankhero.bind(this));
},
onClickFirstRank() {
this.title_time.active = false;
this.title_score.stirng = 'Score';
this.type = 1;
NetManage.getactivityRankingList(1, (data) => {
this.initTable(JSON.stringify(data));
});
},
onClickSecondRank() {
this.title_time.active = false;
this.title_score.stirng = 'Score';
this.type = 2;
NetManage.getactivityRankingList(2, (data) => {
this.initTable(JSON.stringify(data));
});
},
onClickThirdRank() {
this.title_time.active = true;
this.title_score.stirng = 'Level';
this.type = 3;
NetManage.getactivityRankingList(3, (data) => {
this.initTable(JSON.stringify(data));
});
},
onClickFourthRank() {
this.title_time.active = true;
this.title_score.stirng = 'Level';
this.type = 4;
NetManage.getactivityRankingList(4, (data) => {
this.initTable(JSON.stringify(data));
});
},
initTable(rankData) {
this.tableContent.destroyAllChildren();
var data = JSON.parse(rankData);
if (this.type == 1 || this.type == 2) {
data.my_ranked.modifytime = null;
data.rows.forEach((element) => {
element.modifytime = null;
});
}
this.nd_my.getComponent('cellRank').initdata(data.my_ranked);
setTimeout(() => {
this.tableView
.getComponent('tableView')
.initTableView(data.rows.length, {
array: data.rows,
target: this,
});
if (data.rows.length > 0) {
cc.Notifier.emit('clickrankhero', {
account_id: data.rows[0].user.account_id,
hero_id: data.rows[0].user.hero_id,
});
}
}, 100);
},
onDestroy() {
cc.Notifier.off('clickrankhero', this);
},
clickrankhero(v) {
var skinres = cc.playerData.getheroSkinbyId(v.hero_id, 0);
cc.loader.loadRes(
'spine/heropic/pic_hero' + skinres,
sp.SkeletonData,
function (err, sp) {
this.spine_hero.skeletonData = sp;
this.spine_hero._updateSkeletonData();
this.spine_hero.setAnimation(0, 'animation', true);
}.bind(this)
);
},
start() {
this.type = 1;
this.initTable(this.rankData);
},
onclose() {
this.node.destroy();
},
// update (dt) {},
});