64 lines
1.5 KiB
JavaScript
64 lines
1.5 KiB
JavaScript
import GameModel from "../ts/core/GameModel";
|
|
import GameUtil from "../ts/core/GameUtil";
|
|
import SKUIUtil from "../ts/gear_2.3.4/util/SKUIUtil";
|
|
|
|
cc.Class({
|
|
extends: cc.Component,
|
|
|
|
properties: {
|
|
nameLab: cc.Label,
|
|
levelLab: cc.Label,
|
|
headIcon: cc.Sprite,
|
|
headBorderNode: cc.Node,
|
|
raceNodes: [cc.Node],
|
|
normalNode: cc.Node,
|
|
selectedNode: cc.Node,
|
|
detailNode: cc.Prefab,
|
|
border: cc.Sprite
|
|
},
|
|
|
|
onLoad() { },
|
|
|
|
loadInfo(info) {
|
|
this.friendInfo = info;
|
|
this.nameLab.string = info.name;
|
|
if (info.level == -1) {
|
|
this.levelLab.string = '離線';
|
|
this.levelLab.node.color = cc.color(255, 0, 0);
|
|
} else {
|
|
this.levelLab.string = info.level + '級';
|
|
this.levelLab.node.color = GameUtil.getReliveColor(info.relive);
|
|
}
|
|
|
|
if (info.race != 0) {
|
|
this.raceNodes[parseInt(info.race) - 1].active = true;
|
|
}
|
|
this.headIcon.spriteFrame = GameModel.getRoleHead(info.resid);
|
|
if (info.portrait)
|
|
SKUIUtil.setHeadBorder(this.headBorderNode, info.portrait);
|
|
else
|
|
SKUIUtil.setHeadBorder(this.headBorderNode, 555100);
|
|
// if (info.online == 1) {
|
|
// this.onlineNode.active = true;
|
|
// }
|
|
// else{
|
|
// this.offlineNode.active = true;
|
|
// }
|
|
},
|
|
|
|
onDetailBtnClicked(e, d) {
|
|
let detail = cc.instantiate(this.detailNode);
|
|
detail.parent = this.node.parent.parent.parent.parent;
|
|
detail.getComponent('FriendDetail').loadInfo(this.friendInfo, this.node);
|
|
},
|
|
|
|
selected() {
|
|
this.selectedNode.active = true;
|
|
this.normalNode.active = false;
|
|
},
|
|
|
|
unSelected() {
|
|
this.selectedNode.active = false;
|
|
this.normalNode.active = true;
|
|
}
|
|
}); |