206 lines
8.9 KiB
JavaScript
206 lines
8.9 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager');
|
|
// Script/RankManager.ts
|
|
|
|
"use strict";
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var GameData_1 = require("./GameData");
|
|
var List_1 = require("./ListView/List");
|
|
var serverAPI_1 = require("./crypto/serverAPI");
|
|
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
|
|
//排行榜
|
|
var RankManager = /** @class */ (function (_super) {
|
|
__extends(RankManager, _super);
|
|
function RankManager() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.Player = null;
|
|
_this.selfNode = null;
|
|
_this.phone = null;
|
|
return _this;
|
|
}
|
|
RankManager.prototype.onLoad = function () {
|
|
this.init();
|
|
};
|
|
//初始化数据
|
|
RankManager.prototype.init = function () {
|
|
this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default);
|
|
this.Player.getChildByName("rank").active = false;
|
|
this.listData = [];
|
|
this.selfData = null;
|
|
this.rankNumber = 100;
|
|
this.rankTotal = 100;
|
|
this.selfNode.opacity = 0;
|
|
};
|
|
RankManager.prototype.start = function () {
|
|
this.Player.active = false;
|
|
this.getRank();
|
|
};
|
|
//调用获取排行榜接口
|
|
RankManager.prototype.getRank = function () {
|
|
var postData = {
|
|
"page": 1,
|
|
"pageSize": 100
|
|
};
|
|
//回调进getRankData
|
|
serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData);
|
|
};
|
|
//实际设置排行数据
|
|
RankManager.prototype.getRankData = function (data) {
|
|
if (data) {
|
|
console.log(data);
|
|
this.listData = data.data.list;
|
|
this.selfData = data.data.info;
|
|
var rankData = [];
|
|
var self = false;
|
|
for (var i = 0; i <= this.listData.length - 1; i++) {
|
|
rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic });
|
|
if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) {
|
|
self = true;
|
|
this.rankNumber = i;
|
|
this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + "";
|
|
}
|
|
if (i == (this.listData.length - 1) && self == false) {
|
|
this.rankNumber = i;
|
|
this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+";
|
|
}
|
|
}
|
|
this.rankList.setData(rankData);
|
|
if (this.selfData.nickName.length > 6) {
|
|
this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "...";
|
|
}
|
|
this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName;
|
|
this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount;
|
|
this.setPic(this.selfData.pic);
|
|
if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") {
|
|
this.selfNode.getChildByName("rank").getChildByName("one").active = true;
|
|
}
|
|
else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") {
|
|
this.selfNode.getChildByName("rank").getChildByName("two").active = true;
|
|
}
|
|
else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") {
|
|
this.selfNode.getChildByName("rank").getChildByName("three").active = true;
|
|
}
|
|
else {
|
|
// this.selfNode.getChildByName("four").active = true;
|
|
}
|
|
this.selfNode.opacity = 255;
|
|
if (this.selfData.totalSunCount == 0)
|
|
this.selfNode.opacity = 0;
|
|
}
|
|
};
|
|
//返回按钮
|
|
RankManager.prototype.backClick = function () {
|
|
cc.director.loadScene("LoadScene");
|
|
};
|
|
//最上方用户动画
|
|
RankManager.prototype.playerAction = function () {
|
|
var _this = this;
|
|
//-254 377 210 453
|
|
this.Player.getChildByName("rank").active = false;
|
|
var time = 1;
|
|
this.tween = cc.tween(this.Player)
|
|
.to(2, { position: cc.v3(210, 453, 0) })
|
|
.call(function () {
|
|
_this.Player.getChildByName("rank").active = true;
|
|
_this.Player.getChildByName("rank").getChildByName("number")
|
|
.getComponent(cc.Label).string = parseInt(time * 100 + "") + "%";
|
|
})
|
|
.start();
|
|
time = (this.listData.length - this.rankNumber) / this.listData.length;
|
|
if (this.listData.length >= 99) {
|
|
if (this.rankNumber >= 99) {
|
|
time = (Math.random() * 49 + 1) / 100;
|
|
var matchId = cc.sys.localStorage.getItem("matchNumber");
|
|
if (matchId == null || matchId == undefined) {
|
|
time = 0;
|
|
}
|
|
}
|
|
}
|
|
setTimeout(function () {
|
|
if (_this.tween)
|
|
_this.tween.stop();
|
|
_this.Player.getChildByName("rank").active = true;
|
|
_this.Player.getChildByName("rank").getChildByName("number")
|
|
.getComponent(cc.Label).string = parseInt(time * 100 + "") + "%";
|
|
}, time * 2000);
|
|
};
|
|
//设置头像
|
|
RankManager.prototype.setPic = function (pic) {
|
|
var _this = this;
|
|
this.phone.node.parent.getChildByName("icon").active = false;
|
|
this.phone.node.active = false;
|
|
this.Player.active = true;
|
|
this.Player.opacity = 0;
|
|
this.Player.getChildByName("mask").getChildByName("icon").active = false;
|
|
this.Player.getChildByName("mask").getChildByName("phone").active = false;
|
|
fetch(pic)
|
|
.then(function (response) {
|
|
return response.headers.get('Content-Length');
|
|
})
|
|
.then(function (errNo) {
|
|
if (errNo == "5093") {
|
|
_this.phone.node.parent.getChildByName("icon").active = true;
|
|
_this.Player.getChildByName("mask").getChildByName("icon").active = true;
|
|
}
|
|
})
|
|
.catch(function (error) {
|
|
console.error('Error fetching X-Info:', error);
|
|
});
|
|
var self = this;
|
|
cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) {
|
|
self.Player.opacity = 255;
|
|
if (texture) {
|
|
self.phone.node.active = true;
|
|
self.phone.spriteFrame = new cc.SpriteFrame(texture);
|
|
self.Player.getChildByName("mask").getChildByName("icon").active = false;
|
|
self.Player.getChildByName("mask").getChildByName("phone").active = true;
|
|
self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite)
|
|
.spriteFrame = new cc.SpriteFrame(texture);
|
|
setTimeout(function () {
|
|
self.playerAction();
|
|
}, 500);
|
|
}
|
|
else {
|
|
self.Player.getChildByName("mask").getChildByName("icon").active = true;
|
|
setTimeout(function () {
|
|
self.playerAction();
|
|
}, 500);
|
|
}
|
|
});
|
|
};
|
|
__decorate([
|
|
property(cc.Node) //用户上方头像
|
|
], RankManager.prototype, "Player", void 0);
|
|
__decorate([
|
|
property(cc.Node) //用户最下方个人信息
|
|
], RankManager.prototype, "selfNode", void 0);
|
|
__decorate([
|
|
property(cc.Sprite) //用户头像换图
|
|
], RankManager.prototype, "phone", void 0);
|
|
RankManager = __decorate([
|
|
ccclass
|
|
], RankManager);
|
|
return RankManager;
|
|
}(cc.Component));
|
|
exports.default = RankManager;
|
|
|
|
cc._RF.pop(); |