WaterControl/assets/Script/module/RankList/ItemRender.ts
2024-07-10 18:35:07 +08:00

75 lines
2.9 KiB
TypeScript

import List, { ListType } from "./List";
const { ccclass, property } = cc._decorator;
@ccclass
export default class ItemRender extends cc.Component {
/**数据 */
public data:any = null;
/**索引 0表示第一项*/
public itemIndex:number = 0;
/**数据改变时调用 */
public dataChanged(){
cc.fx.GameTool.subName(this.data.name,6);
this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + "";
this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + "";
this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total + "";
this.node.getChildByName("rank").getChildByName("one").active = false;
this.node.getChildByName("rank").getChildByName("two").active = false;
this.node.getChildByName("rank").getChildByName("three").active = false;
if(this.data.rank == 1){
this.node.getChildByName("rank").getChildByName("one").active = true;
this.node.getChildByName("rankLab").active = false;
}
else if(this.data.rank == 2){
this.node.getChildByName("rank").getChildByName("two").active = true;
this.node.getChildByName("rankLab").active = false;
}
else if(this.data.rank == 3){
this.node.getChildByName("rank").getChildByName("three").active = true;
this.node.getChildByName("rankLab").active = false;
}else{
this.node.getChildByName("rankLab").active = true;
}
this.setPic();
}
public setPic(){
this.node.getChildByName("pic").getChildByName("icon").active = false;
this.node.getChildByName("pic").getChildByName("pic").active= false;
var self = this;
let url = this.data.pic;
fetch(url)
.then(response => {
return response.headers.get('Content-Length');
})
.then(errNo => {
// console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值
if(errNo == "5093"){
// console.log(this.data.rank,"没头像");
this.node.getChildByName("pic").getChildByName("icon").active = true;
}
})
.catch(error => {
console.error('Error fetching X-Info:', error);
});
cc.assetManager.loadRemote(url, {ext:'.png'},(err, texture:cc.Texture2D) => {
if(texture){
this.node.getChildByName("pic").getChildByName("pic").active= true;
var sprite = this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite);
sprite.spriteFrame = new cc.SpriteFrame(texture);
// console.log(this.data.rank,"设置头像成功",err);
}
else{
// console.log("设置头像失败",url);
console.log(err,texture)
}
})
}
}